目次
テキストシャドウをすばやく復活させます
最初の影
より多くの影で深さを作成します
SASSでコードを簡素化します
交互の色
ボーナスポイント:アニメーションの追加
ホームページ ウェブフロントエンド CSSチュートリアル CSSテキストシャドウで遊び心のあるエフェクトを作成します

CSSテキストシャドウで遊び心のあるエフェクトを作成します

Apr 07, 2025 am 10:15 AM

CSSテキストシャドウで遊び心のあるエフェクトを作成します

CSS Text-Shadowプロパティを使用して、真に3Dに見えるテキストを作成する方法を見てみましょう。テキストシャドウは、テキストの背後にぼやけたグラデーションの色を適用できると考えるかもしれません。しかし、Box-Shadowのように、影がどれほどぼやけているかを制御できます。それは、カンマを分離する影と組み合わせて、それらを積み重ねることは、ここで行うCSSの策略です。

最後には、次のようなものがあります。

テキストシャドウをすばやく復活させます

構文は次のようなものです。

 .el {
 Text-Shadow:[x-offset] [y-offset] [blur] [color];
}
ログイン後にコピー
  • X-オフセット:X軸の位置。正の値が影を右に移動し、負の値が影を左に移動します。 (必須)
  • Yオフセット:Y軸の位置。正の値が影を下に移動し、負の値は影を上部に移動します。 (必須)
  • ぼかし:影がどれだけぼやけているべきか。値が高いほど、影が柔らかくなります。デフォルト値は0px(ぼかしなし)です。 (オプション)
  • 色:影の色。 (必須)

最初の影

1つの影だけを追加して、効果の作成を始めましょう。影は右に6px、底まで6pxを押します。

 :根 {
  - テキスト:#5362F6; /* 青 */
  - シャドウ:#e485f8; /* ピンク */
}


.playful {
 色:var( - テキスト);
 Text-Shadow:6px 6px var( - 影);
}
ログイン後にコピー

より多くの影で深さを作成します

私たちが持っているのは、この時点でのフラットな影だけです。まだ3Dはそれほど多くありません。深さを作成し、同じ要素にテキストシャドウインスタンスを追加することで、実際のテキストに影を接続できます。必要なのは、それらを分離することだけです。真ん中にもう1つ追加することから始めましょう:

 .playful {
 色:var( - テキスト);
 Text-Shadow:6px 6px var( - 影)、
        3px 3px var( - 影);
}
ログイン後にコピー

これはすでにどこかに到達していますが、見栄えが良くなるためにさらにいくつかの影を追加する必要があります。追加するステップが多いほど、最終結果はより詳細になります。この例では、6px 6pxから開始し、0に達するまで0.25pxの増分で徐々に削減します。

 .playful {
 色:var( - テキスト);
 テキストシャドウ: 
  6px 6px var( - 影)、 
  5.75px 5.75px var( - 影)、 
  5.5px 5.5px var( - 影)、 
  5.25px 5.25px var( - 影)、
  5px 5px var( - 影)、 
  4.75px 4.75px var( - 影)、 
 4.5px 4.5px var( - 影)、 
  4.25px 4.25px var( - 影)、
 4px 4px var( - 影)、
  3.75px 3.75px var( - 影)、
 3.5px 3.5px var( - 影)、
  3.25px 3.25px var( - 影)、
  3px 3px var( - 影)、
  2.75px 2.75px var( - 影)、
   2.5px 2.5px var( - 影)、
  2.25px 2.25px var( - 影)、
   2px 2px var( - 影)、
  1.75px 1.75px var( - 影)、
  1.5px 1.5px var( - 影)、
   1.25px 1.25px var( - 影)、
  1px 1px var( - 影)、
   0.75px 0.75px var( - 影)、
  0.5px 0.5px var( - 影)、
 0.25px 0.25px var( - 影);
}
ログイン後にコピー

SASSでコードを簡素化します

結果は見栄えが良いかもしれませんが、今のコードは読み取りと編集が非常に困難です。影を大きくしたい場合は、それを達成するために多くのコピーと貼り付けをしなければなりません。たとえば、シャドウサイズを10pxに増やすと、16個のシャドウが手動で追加されることを意味します。

そして、それがSCSSが写真に登場するところです。関数を使用して、すべての影を生成する自動化できます。

 @Function TextShadow($ precision、$ size、$ color){
 $ value:null; 
 $ offset:0;
 $ length:$ size *(1 / $ precision)-1;


 @0から$ length {
  $ offset:$ offset $ precision;
  $ Shadow:$ offset px $ offset px $ color;
  $ value:append($ value、$ shadow、comma);
 }


 @return $ value;
}


.playful {
 色:#5362F6;
 Text-Shadow:TextShadow(0.25、6、#E485F8);
}
ログイン後にコピー

関数Textshadowは、影の精度、サイズ、色の3つの異なる引数を取ります。次に、オフセットがシャドウの合計サイズ(この場合は6px)に達するまで$精度(この場合は0.25px)だけ増加するループを作成します。

これにより、影のサイズまたは精度を簡単に増やすことができます。たとえば、10pxの大きさで0.1pxで増加する影を作成するには、コードでこれを変更するだけでいいでしょう。

 Text-Shadow:TextShadow(0.1、10、#e485f8);
ログイン後にコピー

交互の色

交互の色を求めて、物事を少し盛り上げたいと思っています。スパンに包まれた個々の文字でテキストを分割します(これは手動で行うか、ReactまたはJavaScriptで自動化できます)。出力は次のようになります:

 <p aria-label="手を洗う!">
 <span aria-hidden="true"> w </span> <span aria-hidden="true"> a </span> <span aria-hidden="true"> s </span> <span aria-hidden="true"> h </span> ...
</p>
ログイン後にコピー

次に、スパン上のnth-child()セレクターを使用して、テキストと影の色を変更できます。

 .playfulスパン:nth-​​child(2n){
 色:#ED625C;
 Text-Shadow:TextShadow(0.25、6、#F2A063);
}
ログイン後にコピー

バニラCSSでこれを行った場合、これが私たちが最終的に終わるものです:

 .playful span {
 色:var( - テキスト);
 テキストシャドウ: 
  6px 6px var( - 影)、
  5.75px 5.75px var( - 影)、
  5.5px 5.5px var( - 影)、
  5.25px 5.25px var( - 影)、
  5px 5px var( - 影)、
  4.75px 4.75px var( - 影)、
  4.5px 4.5px var( - 影)、
  4.25px 4.25px var( - 影)、
  4px 4px var( - 影)、
  3.75px 3.75px var( - 影)、
  3.5px 3.5px var( - 影)、
  3.25px 3.25px var( - 影)、
  3px 3px var( - 影)、
  2.75px 2.75px var( - 影)、
  2.5px 2.5px var( - 影)、
  2.25px 2.25px var( - 影)、
  2px 2px var( - 影)、
  1.75px 1.75px var( - 影)、
  1.5px 1.5px var( - 影)、
  1.25px 1.25px var( - 影)、
  1px 1px var( - 影)、
  0.75px 0.75px var( - 影)、
  0.5px 0.5px var( - 影)、
  0.25px 0.25px var( - 影);
}


.playfulスパン:nth-​​child(2n){
  - テキスト:#ed625c;
  - シャドウ:#F2A063;
}
ログイン後にコピー

私たちが好きなパターンを達成するまで、他の色やインデックスで同じことを数回繰り返すことができます。

ボーナスポイント:アニメーションの追加

同じ原則を使用して、アニメーションを追加することで、テキストをさらに活気づけることができます。まず、各スパンを上下に動かす繰り返しアニメーションを追加します。

 .playful span {
 色:#5362F6;
 Text-Shadow:TextShadow(0.25、6、#E485F8);
 位置:相対;
 アニメーション:散布1.75s無限。
}
ログイン後にコピー

これを、より好ましい還元運動メディアクエリを使用して、もう少し最適化できます。そうすれば、アニメーションを望んでいない人はそれを取得しません。

 .playful span {
  色:#5362F6;
  Text-Shadow:TextShadow(0.25、6、#E485F8);
  位置:相対;
  アニメーション:散布1.75s無限。
}

@media画面と(還元モーションを好む:redument){
  アニメーション:なし;
}
ログイン後にコピー

次に、各nth-child(n)で別のアニメーション遅延を追加します。

 .playfulスパン:nth-​​child(2n){
 色:#ED625C;
 Text-Shadow:TextShadow(0.25、6、#F2A063);
 アニメーション遅延:0.3s;
}
ログイン後にコピー

以上がCSSテキストシャドウで遊び心のあるエフェクトを作成しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Vue 3 Vue 3 Apr 02, 2025 pm 06:32 PM

それは&#039; Vueチームにそれを成し遂げてくれておめでとうございます。それは大規模な努力であり、長い時間がかかったことを知っています。すべての新しいドキュメントも同様です。

ブラウザから有効なCSSプロパティ値を取得できますか? ブラウザから有効なCSSプロパティ値を取得できますか? Apr 02, 2025 pm 06:17 PM

私はこの非常に正当な質問で誰かに書いてもらいました。 Leaは、ブラウザから有効なCSSプロパティ自体を取得する方法についてブログを書いています。それはこのようなものです。

CI/CDで少し CI/CDで少し Apr 02, 2025 pm 06:21 PM

「ウェブサイト」は「モバイルアプリ」よりも適していると言いますが、Max Lynchからのこのフレーミングが好きです。

粘着性のあるポジショニングとサスのダッシュを備えた積み重ねられたカード 粘着性のあるポジショニングとサスのダッシュを備えた積み重ねられたカード Apr 03, 2025 am 10:30 AM

先日、Corey Ginnivanのウェブサイトから、この特に素敵なビットを見つけました。そこでは、スクロール中にカードのコレクションが互いに積み重ねられていました。

WordPressブロックエディターでのマークダウンとローカリゼーションを使用します WordPressブロックエディターでのマークダウンとローカリゼーションを使用します Apr 02, 2025 am 04:27 AM

WordPressエディターでユーザーに直接ドキュメントを表示する必要がある場合、それを行うための最良の方法は何ですか?

レスポンシブデザインのブラウザを比較します レスポンシブデザインのブラウザを比較します Apr 02, 2025 pm 06:25 PM

これらのデスクトップアプリがいくつかあり、目標があなたのサイトをさまざまな次元ですべて同時に表示しています。たとえば、書くことができます

フレックスレイアウト内の紫色のスラッシュ領域が誤って「オーバーフロー空間」と見なされるのはなぜですか? フレックスレイアウト内の紫色のスラッシュ領域が誤って「オーバーフロー空間」と見なされるのはなぜですか? Apr 05, 2025 pm 05:51 PM

フレックスレイアウトの紫色のスラッシュ領域に関する質問フレックスレイアウトを使用すると、開発者ツールなどの混乱する現象に遭遇する可能性があります(D ...

スティッキーヘッダーとフッターにCSSグリッドを使用する方法 スティッキーヘッダーとフッターにCSSグリッドを使用する方法 Apr 02, 2025 pm 06:29 PM

CSS Gridは、レイアウトをこれまで以上に簡単にするように設計されたプロパティのコレクションです。何でもするように、少し学習曲線がありますが、グリッドは

See all articles