How to use CSS to create a spotlight effect? The following article will analyze the implementation principle and share the implementation code of CSS spotlight effect. I hope it will be helpful to everyone!
The implementation principle of CSS spotlight effect is very simple:
- Completely overlap the two texts, the inner layer is dark gray, and the outer layer is Gradient color. [Recommended learning: css video tutorial]
- Apply a circular mask to the outer text.
- Add
CSS Animation
at the end.
Technical Support
The referenced CSS properties are:
implementation
In order to keep the HTML structure simple, pseudo-class elements will be used later.
HTML code is as follows:
<h1 id="我想藏在罐头里">我想藏在罐头里</h1>
Note:
attr()
Theoretically it can be used for all CSS properties but currently supported Only thecontent
attribute of the pseudo-element, other attributes and advanced features are currently experimentalTranslator's Note: If you find that the browser is compatible with attr( ) still does not have good support, most of the content of this article is just talk on paper
QuoteMDN document
The CSS code is as follows:
*{ 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%); } }
The effect is as follows:
Now the dynamic spotlight effect is completed.
But there is still a problem. I wonder if my attentive friends have noticed it. The text in the finished product is color
. The principle is to add a background image, and then use the text as a mask. Finally Change color
to transparent, so we need to modify the code.
Add code background-image
and background-clip
in h1:after
:
h1::after{ /* 别忘记修改color为透明 */ color: transparent; background-image: linear-gradient(to left,#1a2a6c,#b21f1f,#fdbb2d); background-clip: text; /* 因为background-clip是预览阶段的css属性,要加上一个前缀版本 */ -webkit-background-clip: text; }
Look at the final The finished effect:
The source code of the demonstration is here CodePen link:
https://codepen.io/jackbrens/pen/MWrGNed
Summary
The above is the entire content of this sharing~~
If you think the article is well written and has inspired you, please don’t be stingy. Like
and Follow
and leave your valuable opinions in the comment area
~~
(Learning video sharing: web front end)
The above is the detailed content of How to create a spotlight effect using CSS (code attached). For more information, please follow other related articles on the PHP Chinese website!

What it looks like to troubleshoot one of those impossible issues that turns out to be something totally else you never thought of.

@keyframesandCSSTransitionsdifferincomplexity:@keyframesallowsfordetailedanimationsequences,whileCSSTransitionshandlesimplestatechanges.UseCSSTransitionsforhovereffectslikebuttoncolorchanges,and@keyframesforintricateanimationslikerotatingspinners.

I know, I know: there are a ton of content management system options available, and while I've tested several, none have really been the one, y'know? Weird pricing models, difficult customization, some even end up becoming a whole &

Linking CSS files to HTML can be achieved by using elements in part of HTML. 1) Use tags to link local CSS files. 2) Multiple CSS files can be implemented by adding multiple tags. 3) External CSS files use absolute URL links, such as. 4) Ensure the correct use of file paths and CSS file loading order, and optimize performance can use CSS preprocessor to merge files.

Choosing Flexbox or Grid depends on the layout requirements: 1) Flexbox is suitable for one-dimensional layouts, such as navigation bar; 2) Grid is suitable for two-dimensional layouts, such as magazine layouts. The two can be used in the project to improve the layout effect.

The best way to include CSS files is to use tags to introduce external CSS files in the HTML part. 1. Use tags to introduce external CSS files, such as. 2. For small adjustments, inline CSS can be used, but should be used with caution. 3. Large projects can use CSS preprocessors such as Sass or Less to import other CSS files through @import. 4. For performance, CSS files should be merged and CDN should be used, and compressed using tools such as CSSNano.

Yes,youshouldlearnbothFlexboxandGrid.1)Flexboxisidealforone-dimensional,flexiblelayoutslikenavigationmenus.2)Gridexcelsintwo-dimensional,complexdesignssuchasmagazinelayouts.3)Combiningbothenhanceslayoutflexibilityandresponsiveness,allowingforstructur

What does it look like to refactor your own code? John Rhea picks apart an old CSS animation he wrote and walks through the thought process of optimizing it.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

WebStorm Mac version
Useful JavaScript development tools

SublimeText3 Linux new version
SublimeText3 Linux latest version

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Atom editor mac version download
The most popular open source editor

Dreamweaver CS6
Visual web development tools
