您的位置:首页 > Web前端 > CSS

使用CSS伪元素实现文字部分变色的方法

2015-08-04 18:35 741 查看
思路

思路很简单,就是一个字写两遍,一个字只显示部分,不过不能真的把一个字写两遍。这里就需要用到CSS伪元素:before和:after,记住这个“伪元素”的“伪”字,表明它本来是不存在的。我们的方法就是在伪元素里放置相同的字符,只显示半个,而原字符显示另外一半,最后把它们拼成一个字。
CSS Code


.hf {   

                display: inline-block;   

                font-size: 80px;   

                line-height:80px;   

                color: #000;   

                position: relative;   

                overflow: hidden;   

                whitewhite-space: pre;/* 处理空格 */  

            }   

            .hf:before {   

                position: absolute;   

                left: 0;   

                top: 0;   

                color: #f00;   

                display: block;   

                width: 30%;/*如果想变色一半文字,就设置50%*/  

                content: attr(data-content);/* 伪元素的动态获取内容 */  

                overflow: hidden;   

            }


HTML Code


<span class="hf" data-content="W">W</span>  

    <span class="hf" data-content="e">e</span>  

    <span class="hf" data-content="b">b</span>  

    <span class="hf" data-content="前">前</span>  

    <span class="hf" data-content="端">端</span>


Demo

附:w3school对:before和:after伪元素的讲解

CSS2 - :before 伪元素

":before" 伪元素可以在元素的内容前面插入新内容。

下面的例子在每个 <h1> 元素前面插入一幅图片:

h1:before   

      {   

      content:url(logo.gif);   

      }


亲自试一试
CSS2 - :after 伪元素

":after" 伪元素可以在元素的内容之后插入新内容。

下面的例子在每个 <h1> 元素后面插入一幅图片:

h1:after   

      {   

      content:url(logo.gif);   

      }


亲自试一试
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: