使用CSS虛擬元素實現文字部分變色的方法

來源:互聯網
上載者:User
  

思路

思路很簡單,就是一個字寫兩遍,一個字只顯示部分,不過不能真的把一個字寫兩遍。這裡就需要用到CSS虛擬元素:before和:after,記住這個“虛擬元素”的“偽”字,表明它本來是不存在的。我們的方法就是在虛擬元素裡放置相同的字元,只顯示半個,而原字元顯示另外一半,最後把它們拼成一個字。
CSS Code

CSS Code複製內容到剪貼簿
  1. .hf {
  2. display: inline-block;
  3. font-size: 80px;
  4. line-height:80px;
  5. color: #000;
  6. position: relative;
  7. overflow: hidden;
  8. whitewhite-space: pre;/* 處理空格 */
  9. }
  10. .hf:before {
  11. position: absolute;
  12. left: 0;
  13. top: 0;
  14. color: #f00;
  15. display: block;
  16. width: 30%;/*如果想變色一半文字,就設定50%*/
  17. content: attr(data-content);/* 虛擬元素的動態擷取內容 */
  18. overflow: hidden;
  19. }

HTML Code

XML/HTML Code複製內容到剪貼簿
  1. <span class="hf" data-content="W">W</span>
  2. <span class="hf" data-content="e">e</span>
  3. <span class="hf" data-content="b">b</span>
  4. <span class="hf" data-content="前">前</span>
  5. <span class="hf" data-content="端">端</span>

Demo

附:w3school對:before和:after虛擬元素的講解

CSS2 - :before 虛擬元素

":before" 虛擬元素可以在元素的內容前面插入新內容。

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

CSS Code複製內容到剪貼簿
  1. h1:before
  2. {
  3. content:url(logo.gif);
  4. }

親自試一試
CSS2 - :after 虛擬元素

":after" 虛擬元素可以在元素的內容之後插入新內容。

下面的例子在每個 <h1> 元素後面插入一幅圖片:

CSS Code複製內容到剪貼簿
  1. h1:after
  2. {
  3. content:url(logo.gif);
  4. }

親自試一試

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.