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

时间:2021-05-08

思路

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

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%;
  • content:attr(data-content);
  • overflow:hidden;
  • }
  • HTML Code

    XML/HTML Code复制内容到剪贴板
  • <spanclass="hf"data-content="W">W</span>
  • <spanclass="hf"data-content="e">e</span>
  • <spanclass="hf"data-content="b">b</span>
  • <spanclass="hf"data-content="前">前</span>
  • <spanclass="hf"data-content="端">端</span>
  • Demo

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

    CSS2 - :before 伪元素

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

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

    CSS Code复制内容到剪贴板
  • h1:before
  • {
  • content:url(logo.gif);
  • }
  • 亲自试一试
    CSS2 - :after 伪元素

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

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

    CSS Code复制内容到剪贴板
  • h1:after
  • {
  • content:url(logo.gif);
  • }
  • 亲自试一试

    声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

    相关文章