nobee

update: 1171view

テキストの文字色を半分色違いにする方法

テキストの文字色を半分色違いにする方法

文字を半々でそれぞれ色を変えるとオシャンティーだったり、よく使う場面としては評価の星の数が小数点だったり、、、

コピペだけで簡単にできちゃいます~

cssだけでテキストを半分で文字色を変える

疑似要素を使って2つのテキストをそれぞれ色を変えたものにして上に乗せる、というやり方です。

HTMLの記述

  1. <p class="txt" data-star="★"></p>

data属性に半分にしたいテキストを設定し、疑似要素からを取得します。

CSSの記述

  1. .txt{
  2. color: #fff;
  3. display:inline-block;
  4. position:relative;
  5. }
  6.  
  7. .txt::before{
  8. color: #ffdd00;
  9. content: attr(data-star);
  10. width: 50%;
  11. white-space: nowrap;
  12. overflow: hidden;
  13. position: absolute;
  14. top: 0px;
  15. left: 0px;
  16. }

すると、こうなります!

例えば、評価を星で示していた時に3.5、4.5の場合は、txtのbeforeのwidthを調整してみてください。

3.5の場合

  1. <p class="txt t3" data-star="★★★★">★★★★★</p>

txtにt3のクラスを付与し、cssは先ほどの後に追加、もしくはwidthだけを変更。

  1. .txt.t3::before{
  2. width: 70%;
  3. }

すると、こうなります!

★★★★★

4.5の場合

  1. <p class="txt t4" data-star="★★★★★">★★★★★</p>

txtにt4のクラスを付与し、cssは先ほどの後に追加、もしくはwidthだけを変更。

  1. .txt.t4::before{
  2. width: 90%;
  3. }

すると、こうなります!

★★★★★

share

人気記事