CSS文字?jǐn)嗔研Ч?,CSS實(shí)現(xiàn)文字?jǐn)嗔研Ч氖纠a
css實(shí)現(xiàn)文字?jǐn)嗔研Ч氖纠a創(chuàng)建一個只有元素的部分區(qū)域,可以顯示的剪切區(qū)域。區(qū)域內(nèi)的部分顯示,區(qū)域外的隱藏。...
clip-path屬性
創(chuàng)建一個只有元素的部分區(qū)域,可以顯示的剪切區(qū)域。區(qū)域內(nèi)的部分顯示,區(qū)域外的隱藏。
<h1 data-text="text crack">
????<span>text crack</span>
</h1>
用元素的偽元素復(fù)制兩份文本,再使用 clip-path 將元素本身、元素的兩個偽元素分為3部分,分別對這3部分進(jìn)行控制
body, html
{
????display: flex;
????height: 100%;
????width: 100%;
????background-color: #000;
????overflow: hidden;
????font-family: sans-serif;
}
??
h1 {
????position: relative;
????margin: auto;
????font-size: calc(20px + 5vw);
????font-weight: bold;
????color: #fff;
????letter-spacing: 0.02em;
????text-transform: uppercase;
????text-shadow: 0 0 10px blue;
????user-select: none;
????white-space: nowrap;
????filter: blur(0.007em);
????animation: shake 2.5s linear forwards;
}
??
h1 span {
????position: absolute;
????top: 0;
????left: 0;
????transform: translate(-50%, -50%);
????clip-path: polygon(10% 0%, 44% 0%, 70% 100%, 55% 100%);
}
??
h1::before,
h1::after {
????content: attr(data-text);
????position: absolute;
????top: 0;
????left: 0;
}
??
h1::before {
????animation: crack1 2.5s linear forwards;
????clip-path: polygon(0% 0%, 10% 0%, 55% 100%, 0% 100%);
}
??
h1::after {
????animation: crack2 2.5s linear forwards;
????clip-path: polygon(44% 0%, 100% 0%, 100% 100%, 70% 100%);
}
??
@keyframes shake {
????5%,
????15%,
????25%,
????35%,
????55%,
????65%,
????75%,
????95% {
????????filter: blur(0.018em);
????????transform: translatey(0.018em) rotate(0deg);
????}
??
????10%,
????30%,
????40%,
????50%,
????70%,
????80%,
????90% {
????????filter: blur(0.01em);
????????transform: translatey(-0.018em) rotate(0deg);
????}
??
????20%,
????60% {
????????filter: blur(0.03em);
????????transform: translate(-0.018em, 0.018em) rotate(0deg);
????}
??
????45%,
????85% {
????????filter: blur(0.03em);
????????transform: translate(0.018em, -0.018em) rotate(0deg);
????}
??
????100% {
????????filter: blur(0.007em);
????????transform: translate(0) rotate(-0.5deg);
????}
}
??
@keyframes crack1 {
????0%,
????95% {
????????transform: translate(-50%, -50%);
????}
??
????100% {
????????transform: translate(-51%, -48%);
????}
}
??
@keyframes crack2 {
????0%,
????95% {
????????transform: translate(-50%, -50%);
????}
??
????100% {
????????transform: translate(-49%, -53%);
????}
}
因?yàn)槭褂昧?clip-path 裁剪后的元素,只有元素的剪切區(qū)域才能被顯示,所以我們可以分別控制 3 個部分進(jìn)行動畫
最終效果如下
到此這篇關(guān)于css實(shí)現(xiàn)文字?jǐn)嗔研Ч氖纠a的文章就介紹到這了
- CSS如何設(shè)置不可點(diǎn)擊?CSS如何設(shè)置不可點(diǎn)擊的實(shí)現(xiàn)方法
- html5中使用hotcss.js實(shí)現(xiàn)手機(jī)端自適配的方法
- CSS3 translate導(dǎo)致字體模糊的實(shí)例代碼
- CSS3 animation – steps 函數(shù)詳解
- 純css實(shí)現(xiàn)輸入框placeholder動效及輸入校驗(yàn)的示例代碼
- 關(guān)于CSS中@support實(shí)現(xiàn)漸進(jìn)式網(wǎng)頁設(shè)計實(shí)例代碼
- CSS transition animation的使用(內(nèi)含貝賽爾曲線詳解)
- CSS自適應(yīng)布局實(shí)現(xiàn)子元素項目整體居中/內(nèi)部項目左對齊
- 使用CSS混合模式和SVG來動態(tài)更改產(chǎn)品圖片的顏色
- css新手教程之背景圖充滿整個屏幕的示例代碼介紹
CSS如何設(shè)置不可點(diǎn)擊?CSS如何設(shè)置不可點(diǎn)擊的實(shí)現(xiàn)方法
CSS如何設(shè)置不可點(diǎn)擊?CSS如何設(shè)置不可點(diǎn)擊的實(shí)現(xiàn)方法可以通過設(shè)置元素的pointer-events屬性設(shè)置為none,來實(shí)現(xiàn)元素不可點(diǎn)擊。...
html5中使用hotcss.js實(shí)現(xiàn)手機(jī)端自適配的方法
文章主要介紹了html5中使用hotcss.js實(shí)現(xiàn)手機(jī)端自適配的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下Html5頁面在手機(jī)端做自適配是很常見的技術(shù)需求,下面...
CSS3 translate導(dǎo)致字體模糊的實(shí)例代碼
文章主要介紹了CSS3 translate導(dǎo)致字體模糊的實(shí)例代碼,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧今日客戶反饋,發(fā)現(xiàn) 使用了 translate會導(dǎo)致字體模糊。.media-body-b...
CSS3 animation – steps 函數(shù)詳解
本文通過實(shí)例代碼給大家介紹了CSS3 animation – steps 函數(shù),代碼簡單易懂,非常不錯,具有一定的參考借鑒價值這幾天在看一些 css3 動畫的源碼實(shí)現(xiàn)時,發(fā)現(xiàn) css 代碼的 anima...
純css實(shí)現(xiàn)輸入框placeholder動效及輸入校驗(yàn)的示例代碼
文章主要介紹了純css實(shí)現(xiàn)輸入框placeholder動效及輸入校驗(yàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值更多精彩內(nèi)容請關(guān)注 https://github....
關(guān)于CSS中@support實(shí)現(xiàn)漸進(jìn)式網(wǎng)頁設(shè)計實(shí)例代碼
文章主要給大家介紹了關(guān)于CSS中@support實(shí)現(xiàn)漸進(jìn)式網(wǎng)頁設(shè)計的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用CSS具有一定的參考學(xué)習(xí)價值前言特性查詢賦予了我們...
CSS transition animation的使用(內(nèi)含貝賽爾曲線詳解)
文章主要介紹了css transition animation的使用(內(nèi)含貝賽爾曲線詳解),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,區(qū)別:transition也叫過渡動畫...
CSS自適應(yīng)布局實(shí)現(xiàn)子元素項目整體居中/內(nèi)部項目左對齊示例代碼
文章主要介紹了CSS自適應(yīng)布局實(shí)現(xiàn)子元素項目整體居中,內(nèi)部項目左對齊,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,日常工作時,我們可能遇到這...
使用CSS混合模式和SVG來動態(tài)更改產(chǎn)品圖片的顏色
文章主要介紹了使用CSS混合模式和SVG來動態(tài)更改產(chǎn)品圖片的顏色,需要的朋友可以參考下。前兩天在Codepen看到了@Kyle Wetton寫的一個示例, 使用CSS混合模式和SVG來改變沙發(fā)的...
css新手教程之背景圖充滿整個屏幕的示例代碼介紹
文章主要給大家介紹了關(guān)于css新手教程之背景圖充滿整個屏幕的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用css具有一定的參考學(xué)習(xí)價值。想讓整個界面有一個背...