CSS를 사용하여 스포트라이트 효과를 만드는 방법은 무엇입니까? 다음 글에서는 구현 원리를 분석하고 CSS 스포트라이트 효과 구현 코드를 공유하겠습니다. 모든 분들께 도움이 되길 바랍니다!
CSS 스포트라이트 효과의 구현 원리는 매우 간단합니다.
CSS 애니메이션
을 추가하세요. CSS Animation
。引用到的CSS属性有:
为了将HTML结构保持简洁,之后会使用 伪类元素 去制作。
HTML代码如下:
<h1 data-text="我想藏在罐头里!!!">我想藏在罐头里</h1>
注意:
attr()
理论上能用于所有的CSS属性但目前支持的仅有伪元素的content
属性,其他的属性和高级特性目前是实验性的译者注:如果发现浏览器兼容表里attr()的高级用法依旧没有良好的支持的话,本文大部分内容都是纸上谈兵
引用 MDN文档
CSS代码如下:
*{ margin: 0; padding: 0; } :root{ --ellipse: 6.25rem; } html, body{ display: flex; justify-content: center; align-items: center; height: 100vh; background: #222; } h1{ font-size: 4rem; color: #333; width: 37.5rem; position: relative; } h1::after{ /* attr(attribute_name) */ content:attr(data-text); position: absolute; top: 0; left: 0; color: pink; clip-path: ellipse(var(--ellipse) var(--ellipse) at 0% 50%); animation: move 5s infinite; } @keyframes move{ 0%, 100%{ clip-path: ellipse(var(--ellipse) var(--ellipse) at 0% 50%); } 50%{ clip-path: ellipse(var(--ellipse) var(--ellipse) at 100% 50%); } }
实现效果如下:
现在动态的聚光灯效果就完成了。
但是还有问题,不知道细心的小伙伴发现了没有,制作成品的文字是 彩色
的,原理就是加上背景图片,然后将文字作为遮罩,最后把color
改成透明,所以我们要修改一下代码。
在 h1:after
中新增代码 background-image
和 background-clip
:
h1::after{ /* 别忘记修改color为透明 */ color: transparent; background-image: linear-gradient(to left,#1a2a6c,#b21f1f,#fdbb2d); background-clip: text; /* 因为background-clip是预览阶段的css属性,要加上一个前缀版本 */ -webkit-background-clip: text; }
看一下最终的完成效果:
演示的源代码在这里 CodePen 链接:
https://codepen.io/jackbrens/pen/MWrGNed
以上就是本次分享的全部内容~~
如果觉得文章写得不错,对你有所启发的,请不要吝啬 点个 赞
和 关注
并在 评论区
🎜참고:🎜CSS 코드는 다음과 같습니다.🎜rrreee🎜구현 효과는 다음과 같습니다.🎜🎜🎜🎜이제 동적 스포트라이트 효과가 완성되었습니다. 🎜🎜그래도 문제는 꼼꼼한 친구들이 발견한 걸까요. 마스크를 넣고 마지막으로attr()
는 이론적으로 모든 CSS 속성에 사용할 수 있지만 현재는 의사 요소만 지원합니다콘텐츠 🎜 속성, 기타 속성 및 고급 기능은 현재 실험적입니다🎜🎜번역가의 참고: 브라우저 호환성 표에서 attr()의 고급 사용이 아직 잘 지원되지 않는 경우 이 문서의 내용 대부분은 On입니다. 논문 🎜🎜인용문 <a href="https://developer.mozilla.org/zh-CN/docs/Web/CSS/attr" target="_blank" rel="nofollow noopener noreferrer" ref="nofollow noopener noreferrer">MDN 문서🎜🎜</a>
color
를 넣으면 투명으로 변경되므로 코드를 수정해야 합니다. 🎜🎜h1:after
에 코드 background-image
및 background-clip
추가: 🎜rrreee🎜최종 효과 보기: 🎜 🎜🎜🎜The 데모 소스 코드는 여기 CodePen 링크: 🎜🎜https://codepen.io/jackbrens/pen/MWrGNed🎜
좋아요
와 팔로우
를 눌러주시고 댓글을 남겨주세요. 소중한 의견을 남겨주세요~~🎜🎜 (학습 영상 공유 : 🎜웹 프론트엔드🎜)🎜위 내용은 CSS를 사용하여 스포트라이트 효과를 만드는 방법(코드 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!