CSS題目系列(3)- 實現(xiàn)文字切割效果

描述

有一天逛 Codepen 的時候,看到這么一個效果:將文字上下切開兩半。

點進去看了一下代碼,發(fā)現(xiàn)原理很簡單,大概就是通過偽類使用attr()函數(shù)獲取內(nèi)容,然后進行定位。

你可以點下方鏈接查看效果:

https://gd4ark.github.io/blog_demos/2018-11-26/01.html

正文

先讓兩個偽元素獲取到屬性的值,并且將位置調(diào)好。

<h1 data-content="I Love CSS">I Love CSS</h1>

樣式部分

h1 {
    position: relative;
    color: transparent;
}

h1::before,
h1::after {
    /* 通過 attr 獲取屬性的值 */
    content: attr(data-content);
    position: absolute;
    left: 0;
    width: 100%;
    overflow: hidden;
    color: #CC3333;
}

/* 切割部分 */
h1::before {
    /* 上對齊 */
    top: 0;
    height: 50%;
}

/* 剩余部分 */
h1::after {
    /* 下對齊 */
    bottom: 0;
    height: 50%;
}

這時候的效果是這樣的,所以我們要把剩余部分的文字進行底部對齊。

image

這里使用flex布局對齊,剩余部分改為:

/* 剩余部分 */
h1::after{
    bottom: 0;
    height: 50%;
    display: flex;
    align-items: flex-end;
}

這時候:

image

到現(xiàn)在,就已經(jīng)做好,只要在切割部分上應(yīng)用動畫,即可實現(xiàn)炫酷的切割效果:

/* 切割部分 */
h1::before{
    animation: action 5s 1s ease alternate infinite;
}
@keyframes action{
    0%{
        transform: translateX(0px);
    }
    30%{
        transform: translateX(-5vw);
    }
    60%{
        transform: translateX(0px);
    }
    100%{
        transform: translateX(5vw);
    }
}

完整代碼:https://github.com/gd4Ark/blog_demos/blob/master/2018-11-26/01.html

后記

不得不說那些大神們的腦洞真是大,如果沒見過這個效果之前,我是無論如何都想不到可以如此簡單的實現(xiàn)這么炫酷的切割效果。

注:此文為原創(chuàng)文章,如需轉(zhuǎn)載,請注明出處。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容