検索
ホームページウェブフロントエンドCSSチュートリアルCSSテキストシャドウで遊び心のあるエフェクトを作成します

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 までご連絡ください。
@KeyFrames対CSSトランジション:違いは何ですか?@KeyFrames対CSSトランジション:違いは何ですか?May 14, 2025 am 12:01 AM

@keyframesandcsstransitionsdifferincomplexity:@keyframesallowsfordeTailedAnimationのシーケンス、whilecsstransitionshandlesimplestatechanges.usecsstransitionsは、ButtonColorChanges、および@keyframesforintricateanimationslikerotatingingspinnnersを使用します。

静的サイトコンテンツ管理にページCMSを使用します静的サイトコンテンツ管理にページCMSを使用しますMay 13, 2025 am 09:24 AM

私は知っています、私は知っています:たくさんのコンテンツ管理システムオプションが利用可能であり、私はいくつかテストしましたが、実際にはY&#039;知っているものはありませんでしたか?奇妙な価格設定モデル、困難なカスタマイズ、一部は全体になることさえあります&

HTMLのCSSファイルをリンクするための究極のガイドHTMLのCSSファイルをリンクするための究極のガイドMay 13, 2025 am 12:02 AM

CSSファイルをHTMLにリンクすることは、HTMLの一部で要素を使用することで実現できます。 1)タグを使用して、ローカルCSSファイルをリンクします。 2)複数のタグを追加することにより、複数のCSSファイルを実装できます。 3)外部CSSファイルは、そのような絶対URLリンクを使用します。 4)ファイルパスとCSSファイルの読み込み順序の正しい使用を確認し、パフォーマンスを最適化すると、CSSプリプロセッサを使用してファイルをマージできます。

CSS Flexbox vsグリッド:包括的なレビューCSS Flexbox vsグリッド:包括的なレビューMay 12, 2025 am 12:01 AM

FlexBoxまたはグリッドの選択は、レイアウト要件によって異なります。1)FlexBoxは、ナビゲーションバーなどの1次元レイアウトに適しています。 2)グリッドは、雑誌のレイアウトなどの2次元レイアウトに適しています。この2つは、レイアウト効果を改善するためにプロジェクトで使用できます。

CSSファイルを含める方法:メソッドとベストプラクティスCSSファイルを含める方法:メソッドとベストプラクティスMay 11, 2025 am 12:02 AM

CSSファイルを含める最良の方法は、タグを使用してHTMLパーツに外部CSSファイルを導入することです。 1.タグを使用して、外部CSSファイルを導入します。 2。小さな調整のために、インラインCSSを使用できますが、注意して使用する必要があります。 3.大規模プロジェクトでは、@Importを介して他のCSSファイルをインポートするために、SASS以下などのCSSプリプロセッサを使用できます。 4。パフォーマンスのために、CSSファイルをマージし、CDNを使用し、CSSNANOなどのツールを使用して圧縮する必要があります。

FlexBox対グリッド:両方を学ぶべきですか?FlexBox対グリッド:両方を学ぶべきですか?May 10, 2025 am 12:01 AM

はい、Youはrelearnbothlexboxandgrid.1)FlexBoxisidealforone-Dimensional、FlexiblleayoutslikenavigationMenus.2)Gridexcelsintwo-digsignssuchasmagazinelayouts.3)Bothenhanceslaysutibulivedibulisunivedivition、floctonsulururを

軌道力学(またはCSSキーフレームアニメーションの最適化方法)軌道力学(またはCSSキーフレームアニメーションの最適化方法)May 09, 2025 am 09:57 AM

独自のコードをリファクタリングするのはどのように見えますか?ジョン・レアは、彼が書いた古いCSSアニメーションを選び、それを最適化するという思考プロセスを歩きます。

CSSアニメーション:それらを作成するのは難しいですか?CSSアニメーション:それらを作成するのは難しいですか?May 09, 2025 am 12:03 AM

cssanimationsArenotintinlentyhardbutrepracticeanderstanding ofcsspropertiesandtimingfunctions.1)

See all articles

ホット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 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール