Heim  >  Artikel  >  Web-Frontend  >  So erstellen Sie einen Spotlight-Effekt mit CSS (Code im Anhang)

So erstellen Sie einen Spotlight-Effekt mit CSS (Code im Anhang)

青灯夜游
青灯夜游nach vorne
2022-04-11 11:12:484345Durchsuche

Wie erstelle ich mit CSS einen Spotlight-Effekt? Der folgende Artikel wird das Implementierungsprinzip analysieren und den Implementierungscode des CSS-Spotlight-Effekts teilen. Ich hoffe, er wird für alle hilfreich sein!

So erstellen Sie einen Spotlight-Effekt mit CSS (Code im Anhang)

Das Implementierungsprinzip des CSS-Spotlight-Effekts ist sehr einfach:

  • Überlappen Sie die beiden Texte vollständig, die innere Ebene ist dunkelgrau und die äußere Ebene hat einen Farbverlauf. [Empfohlenes Lernen: CSS-Video-Tutorial]
  • Wenden Sie eine kreisförmige Maske auf den äußeren Text an.
  • Fügen Sie am Ende CSS-Animation hinzu. 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%);
    }
}

实现效果如下:

So erstellen Sie einen Spotlight-Effekt mit CSS (Code im Anhang)

现在动态的聚光灯效果就完成了。

但是还有问题,不知道细心的小伙伴发现了没有,制作成品的文字是 彩色 的,原理就是加上背景图片,然后将文字作为遮罩,最后把color 改成透明,所以我们要修改一下代码。

h1:after 中新增代码 background-imagebackground-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;
}

看一下最终的完成效果:

So erstellen Sie einen Spotlight-Effekt mit CSS (Code im Anhang)

演示的源代码在这里 CodePen 链接:

https://codepen.io/jackbrens/pen/MWrGNed

总结

以上就是本次分享的全部内容~~

如果觉得文章写得不错,对你有所启发的,请不要吝啬 点个 关注 并在 评论区

Technischer Support

Die genannten CSS-Eigenschaften sind:

linear-gradient()

🎜🎜background-image🎜🎜🎜Hintergrundclip 🎜 🎜🎜clip-path🎜🎜

Implementierung

🎜Um die HTML-Struktur einfach zu halten, werden später Pseudoklassenelemente verwendet. 🎜🎜HTML-Code lautet wie folgt: 🎜rrreee
🎜Hinweis: attr() kann theoretisch für alle CSS-Attribute verwendet werden, unterstützt derzeit jedoch nur Pseudoelementecontent 🎜 Attribute, andere Attribute und erweiterte Funktionen sind derzeit experimentell. 🎜🎜Anmerkung des Übersetzers: Wenn Sie feststellen, dass die erweiterte Verwendung von attr() in der Browserkompatibilitätstabelle immer noch nicht gut unterstützt wird, ist der Großteil des Inhalts dieses Artikels aktiviert Papier 🎜🎜Zitat <a href="https://developer.mozilla.org/zh-CN/docs/Web/CSS/attr" target="_blank" rel="nofollow noopener noreferrer" ref="nofollow noopener noreferrer">MDN-Dokument🎜🎜</a>
🎜CSS-Code lautet wie folgt:🎜rrreee🎜Der Implementierungseffekt ist wie folgt:🎜🎜So erstellen Sie einen Spotlight-Effekt mit CSS (Code im Anhang)🎜🎜Jetzt ist der dynamische Spotlight-Effekt abgeschlossen. 🎜🎜Aber es gibt immer noch ein Problem, ob meine aufmerksamen Freunde es entdeckt haben. Der Text im fertigen Produkt ist Farbe. Das Prinzip besteht darin, ein Hintergrundbild hinzuzufügen Maske, und schließlich wird color in transparent geändert, sodass wir den Code ändern müssen. 🎜🎜Fügen Sie die Codes background-image und background-clip in h1:after hinzu: 🎜rrreee🎜Sehen Sie sich den Endeffekt an: 🎜 🎜🎜
🎜Die Der Quellcode der Demo ist hier CodePen-Link: 🎜🎜https://codepen.io/jackbrens/pen/MWrGNed🎜

Zusammenfassung

🎜Das ist es Der gesamte Inhalt wurde dieses Mal geteilt~~🎜🎜Wenn Sie der Meinung sind, dass der Artikel gut geschrieben ist und Sie inspiriert hat, zögern Sie bitte nicht, auf Gefällt mir und Folgen zu klicken und eine Nachricht zu hinterlassen Kommentieren Sie im Kommentarbereich Hinterlassen Sie Ihre wertvolle Meinung~~🎜🎜 (Teilen von Lernvideos: 🎜Web-Frontend🎜)🎜

Das obige ist der detaillierte Inhalt vonSo erstellen Sie einen Spotlight-Effekt mit CSS (Code im Anhang). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:juejin.cn. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen