検索
ホームページウェブフロントエンドhtmlチュートリアルCSS Secret Garden: 片面シャドウ_html/css_WEB-ITnose

『CSS Secrets』は、@Lea Verou による最新の本で、CSS に関する小さな秘密を説明しています。これは CSSers にとって読む価値のある本です。一定期間読んだ後、私、@範囲、@彦子は、関連する読書感想文を W3cplus で公開し、皆さんと共有します。

質問

Q&A Web サイトで私が目にしたボックスシャドウに関する最もよくある質問は、オブジェクトの片側 (または、それほど頻繁ではないが両側) にのみシャドウを適用する方法です。 stackoverflow.com で簡単に検索すると、約 1,000 件の結果が表示されます。片面のシャドウはより微妙ですが、同様にリアルなシャドウ効果を生成できるため、これは当然のことです。多くの場合、影の効果に苦労している開発者は、開発を容易にするために box-shadow-bottom などの新しいプロパティを要求する電子メールを CSS ワーキング グループに送信することもあります。ただし、この効果は、私たちが学び愛用してきた box-shadow プロパティを賢く使用することで実現できます。

単一シャドウ

ほとんどの人がボックスシャドウを使用するとき、次のように 3 つの長さの値と 1 つの色の値をパラメータとして使用します:

box-shadow: 2px 3px 4px rgba(0,0,0,.5);

以下の手順は、(技術的には完全に正確ではありませんが) デモを行うための良い方法です。これらの影の描画プロセス:

  • 要素と同じサイズと位置の rgba(0,0,0,.5) 四角形を使用します。
  • 右に 2 ピクセル、下に 3 ピクセル移動します。
  • ガウスぼかしアルゴリズム (または同様のアルゴリズム) を使用したぼかした 4 ピクセル。つまり、影の色と完全な透明度のこのエッジでの影の色の間の遷移は、ぼかし半径 (この例では 8px ) の約 2 倍だけです。
  • ぼやけた四角形が最初の要素と交差する場所で、最初の要素の「後ろ」になるようにぼやけた四角形をトリミングします。これは、ほとんどの作成者が影を設定する方法 (要素の下にぼやけた長方形を配置する) とは少し異なります。ただし、使用例によっては、要素の下に影が描画されないことに注意する必要があります。たとえば、要素に半透明の背景を設定すると、その下の影は表示されません。これは、テキストの下にクリッピングがないという点で text-shadow とは異なります。

特に明記されていない限り、ここでの要素のサイズは、CSS の幅と高さではなく、境界ボックスのサイズを指します。

ぼかし半径 4 ピクセルを使用すると、影のサイズが要素のサイズより約 4 ピクセル大きくなり、影の一部が要素の両側に表示されます。オフセットを少なくとも 4px 増やすことで、オフセットを変更して左と上の影を非表示にすることができます。しかし、これでは影が発達しすぎて見栄えが悪くなります。また、これは大したことではありませんが、覚えていますか?影が両方ではなく片側にだけあるようにします。

上と左の影を非表示にするために、オフセット値をぼかし半径の値と同じに設定してみてください。

正確には、上部に 1px ( 4px - 3px ) のシャドウ、左側に 2px ( 4px - 2px ) のシャドウ、右側に 6px ( 4px + 2px ) のシャドウ、そして 6px ( 4px + 2px ) 下の 7px (4px + 3px) に影を付けます。実際には、エッジの色の遷移が直線ではなく、グラデーションの変化によって区切られているため、小さく見えます。

解決策は、あまり知られていない 4 番目の長さパラメーターです。ブラー半径の後に指定され、スプレッド半径とも呼ばれます。拡散半径は、指定した数値だけ影のサイズを増加または減少させます (負の値)。たとえば、拡散半径が -5 ピクセルの場合、シャドウの幅と高さは 10 ピクセル (各側で 5 ピクセル) 減少します。

そのロジックは、負の拡散半径を適用しても、絶対値がブラー半径と等しい場合、シャドウは適用される要素とまったく同じサイズになるということです。オフセット (最初の 2 つの長さパラメーター) を使用して移動しない限り、それを見ることはできません (要素によってブロックされます)。したがって、正の垂直オフセットを適用すると、要素の下部にのみ影が表示され、他の側面には影が表示されません。これはまさに私たちが望んでいることです:

box-shadow: 0 5px 4px -4px black;

下の画像で効果を確認できます:

隣接する側面の影

もう 1 つのよくある問題は、両側に影を適用することです。これは、2 つの側面が隣接している場合 (たとえば、右と下) に実現するのが簡単です。以下のような効果を作成できます:

前のセクションで説明したテクニックのいくつかを適用することもできますが、以下のようないくつかの違いがあります:

  • 我们不希望通过收缩阴影来完成两侧的模糊,而只是一侧。因此,我们把扩散半径(spread radius)的绝对值设置为模糊半径(blur spread)的一半即可。
  • 因为我们想要在水平和垂直方向都移动阴影,我们需要设置两个偏移值。因为我们想要在另外两侧隐藏余下的阴影,所以偏移值必须大于或等于模糊半径的一半。

比如说,这是我们为右侧和底部应用一个 black 6px 阴影的代码:

box-shadow: 3px 3px 6px -3px black;

你可以在下图中看到效果。

对侧的阴影

如果我们想要在两个相对侧的阴影就比较麻烦了,比如说左侧和右侧。因为扩散半径应用在所有方向都是等同的(如,没有办法可以直接帮我们完成阴影在水平方向的延伸、垂直方向的收缩的话),我们的唯一办法就是使用两个阴影,一侧一个阴影。然后,我们基本上就可以采用前面介绍的“单侧阴影”一节的方法来完成,应用两次即可:

box-shadow: 5px 0 5px -5px black,            -5px 0 5px -5px black;

你可以在下图中看到效果:

对侧阴影 box-shadow

在CSS工作小组有关于分开水平/垂直扩散半径值的讨论,所以将来可能会更简单一些。

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

HTMLは、Webページ構造の構築の基礎です。 1。HTMLは、コンテンツ構造とセマンティクス、および使用などを定義します。タグ。 2. SEO効果を改善するために、などのセマンティックマーカーを提供します。 3.タグを介したユーザーの相互作用を実現するには、フォーム検証に注意してください。 4. JavaScriptと組み合わせて、動的効果を実現するなどの高度な要素を使用します。 5.一般的なエラーには、閉じられていないラベルと引用されていない属性値が含まれ、検証ツールが必要です。 6.最適化戦略には、HTTP要求の削減、HTMLの圧縮、セマンティックタグの使用などが含まれます。

テキストからウェブサイトへ:HTMLの力テキストからウェブサイトへ:HTMLの力Apr 13, 2025 am 12:07 AM

HTMLは、Webページを構築するために使用される言語であり、タグと属性を使用してWebページの構造とコンテンツを定義します。 1)htmlは、などのタグを介してドキュメント構造を整理します。 2)ブラウザはHTMLを分析してDOMを構築し、Webページをレンダリングします。 3)マルチメディア関数を強化するなど、HTML5の新機能。 4)一般的なエラーには、閉じられていないラベルと引用されていない属性値が含まれます。 5)最適化の提案には、セマンティックタグの使用とファイルサイズの削減が含まれます。

HTML、CSS、およびJavaScriptの理解:初心者向けガイドHTML、CSS、およびJavaScriptの理解:初心者向けガイドApr 12, 2025 am 12:02 AM

webdevelopmentReliesOnhtml、css、andjavascript:1)htmlStructuresContent、2)cssStylesit、および3)Javascriptaddsinteractivity、形成、

HTMLの役割:Webコンテンツの構造HTMLの役割:Webコンテンツの構造Apr 11, 2025 am 12:12 AM

HTMLの役割は、タグと属性を使用してWebページの構造とコンテンツを定義することです。 1。HTMLは、読みやすく理解しやすいようなタグを介してコンテンツを整理します。 2。アクセシビリティとSEOを強化するには、セマンティックタグなどを使用します。 3. HTMLコードの最適化により、Webページの読み込み速度とユーザーエクスペリエンスが向上する可能性があります。

HTMLとコード:用語を詳しく見るHTMLとコード:用語を詳しく見るApr 10, 2025 am 09:28 AM

htmlisaspecifictypeofcodefocuseduructuringwebcontent

HTML、CSS、およびJavaScript:Web開発者に不可欠なツールHTML、CSS、およびJavaScript:Web開発者に不可欠なツールApr 09, 2025 am 12:12 AM

HTML、CSS、およびJavaScriptは、Web開発の3つの柱です。 1。HTMLは、Webページ構造を定義し、などなどのタグを使用します。2。CSSは、色、フォントサイズなどのセレクターと属性を使用してWebページスタイルを制御します。

HTML、CSS、およびJavaScriptの役割:コアの責任HTML、CSS、およびJavaScriptの役割:コアの責任Apr 08, 2025 pm 07:05 PM

HTMLはWeb構造を定義し、CSSはスタイルとレイアウトを担当し、JavaScriptは動的な相互作用を提供します。 3人はWeb開発で職務を遂行し、共同でカラフルなWebサイトを構築します。

HTMLは初心者のために簡単に学ぶことができますか?HTMLは初心者のために簡単に学ぶことができますか?Apr 07, 2025 am 12:11 AM

HTMLは、簡単に学習しやすく、結果をすばやく見ることができるため、初心者に適しています。 1)HTMLの学習曲線はスムーズで簡単に開始できます。 2)基本タグをマスターして、Webページの作成を開始します。 3)柔軟性が高く、CSSおよびJavaScriptと組み合わせて使用​​できます。 4)豊富な学習リソースと最新のツールは、学習プロセスをサポートしています。

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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

EditPlus 中国語クラック版

EditPlus 中国語クラック版

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

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

MantisBT

MantisBT

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

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。