溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么利用CSS制作一個(gè)聚光燈效果

發(fā)布時(shí)間:2022-04-11 13:36:22 來源:億速云 閱讀:242 作者:iii 欄目:web開發(fā)

今天小編給大家分享一下怎么利用CSS制作一個(gè)聚光燈效果的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

怎么利用CSS制作一個(gè)聚光燈效果

CSS聚光燈效果的實(shí)現(xiàn)原理很簡(jiǎn)單:

  • 將兩個(gè)文字完全重疊,內(nèi)層是深灰色,外層是有漸變顏色的。

  • 在將外層的文字套用圓形遮罩。

  • 最后加上 CSS Animation。

技術(shù)支持

引用到的CSS屬性有:

  • linear-gradient()

  • background-image

  • background-clip

  • clip-path

實(shí)現(xiàn)

為了將HTML結(jié)構(gòu)保持簡(jiǎn)潔,之后會(huì)使用 偽類元素 去制作。

HTML代碼如下:

<h2 data-text="我想藏在罐頭里!!!">我想藏在罐頭里</h2>

注意: attr() 理論上能用于所有的CSS屬性但目前支持的僅有偽元素的 content 屬性,其他的屬性和高級(jí)特性目前是實(shí)驗(yàn)性的

譯者注:如果發(fā)現(xiàn)瀏覽器兼容表里attr()的高級(jí)用法依舊沒有良好的支持的話,本文大部分內(nèi)容都是紙上談兵

引用 MDN文檔

CSS代碼如下:

*{
    margin: 0;
    padding: 0;
}

:root{
  --ellipse: 6.25rem;
}

html, body{
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    background: #222;
}
h2{
    font-size: 4rem;
    color: #333;
    width: 37.5rem;
    position: relative;
}
h2::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%);
    }
}

現(xiàn)在動(dòng)態(tài)的聚光燈效果就完成了。

但是還有問題,不知道細(xì)心的小伙伴發(fā)現(xiàn)了沒有,制作成品的文字是 彩色 的,原理就是加上背景圖片,然后將文字作為遮罩,最后把color 改成透明,所以我們要修改一下代碼。

h2:after 中新增代碼 background-imagebackground-clip

h2::after{
    /* 別忘記修改color為透明 */
    color: transparent;
    background-image: linear-gradient(to left,#1a2a6c,#b21f1f,#fdbb2d);
    background-clip: text;
    /* 因?yàn)閎ackground-clip是預(yù)覽階段的css屬性,要加上一個(gè)前綴版本 */
    -webkit-background-clip: text;
}

以上就是“怎么利用CSS制作一個(gè)聚光燈效果”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

css
AI