こんにちは、今日は前から試してみたかった、cssで文字のカラーを上下、または左右半分個ずつにする方法に挑戦してみたいと思います。
まずは、実装したものから、
See the Pen テキストのカラーを半分ずつ表示する by sayuri (@giraffeweb) on CodePen.0
HTMLはいたって普通。
半分にしたいテキストが入っているdivもしくはpタグにクラスを設定してください。
//左右にわかれる場合 <div class="right_left"> <p>RIGH&TLEFT</p> </div> //上下に分かれる場合 <div class="top_down"> <p>TOP&DOWN</p> </div>
●左右に分かれる場合
テキストが入っているdivもしくは、bodyなどに背景色を設定します。
左右に半分ずつなので、以下のようにcssに指定。
.right_left { background: linear-gradient(90deg, #00b7ee 50%, #ffffff 50%); }
divまたはbody内のpタグには以下のように指定。
background-clipを使うことで簡単に、よりシンプルに実装できます。
ただ、background-clipは一部ブラウザでは機能しないので注意してください。
.right_left p { background: linear-gradient(-90deg, #00b7ee 50%, #ffffff 50%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; text-transform: uppercase; white-space: nowrap; }
●上下で分かれる場合
こちらも同じようにテキストが入っているdivもしくは、bodyなどに背景色を設定。
linear-gradientで今度は、上と下にそれぞれの色を設定します。
.top_down { background: linear-gradient(#f39700 50%, #ffffff 50%); }
左右で分かれるパターンとはbackground: linear-gradient();の記述を少し変更すれば
こちらも簡単に実装できます♪
.top_down p { position: relative; display: inline-block; background: linear-gradient(#ffffff 50%, #f39700 50%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; white-space: nowrap; }
キービジュアルや、注目してほしいコンテンツなどにもしようできそうですよね!
みなさんも試してみてください。