検索
ホームページウェブフロントエンドhtmlチュートリアルCSS Secret Garden: 不規則なShadow_html/css_WEB-ITnose

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

質問

box-shadow は、長方形または border-radius で作成できる形状にドロップ シャドウを適用する場合に最適です。ただし、疑似要素やその他の半透明のスタイルがある場合は、box-shadow が透明度を無視するため、うまく機能しない可能性があります。例:

  • 半透明の画像、背景画像、または境界線画像 (昔ながらの金色の額縁など)。
  • 背景のない点線の境界線、破線の境界線、または半透明の境界線 (境界ボックスではない場合は背景クリップ)
  • 擬似要素を介してスピーカーの角を指している場合、ダイアログのバブルが作成されます。
  • 「コーナーの切り抜き」秘密ページ 96 で見たようなコーナーの切り抜き。
  • この章で後述するものも含め、最も多くの折り畳まれたコーナー エフェクト。
  • 「ダイヤモンド画像」シークレットの 90 ページにあるダイヤモンド画像のような、クリップパスを介して作成されたグラフィック。

CSS スタイルを持つ要素で無効な box-shadow の場合、適用される box-shadow 値は 2px 2px 10px rgba(0,0,0,.5)

box-shadow の適用に失敗した結果を上の画像に示します。この状況に対する解決策はあるのでしょうか、それとも影の影響を完全に放棄する必要があるのでしょうか?

解決策

フィルター エフェクト仕様は、SVG から借用した新しいフィルター属性を介して、この問題の解決策を提供します。ただし、CSS フィルターは基本的に SVG フィルターから派生していますが、SVG の知識は必要ありません。代わりに、ブラー()、グレースケール()、ドロップシャドウ()などの便利な関数を介して指定されます。必要に応じて、次のようにスペースで区切って複数のフィルターをチェーンで適用することもできます。

filter: blur() grayscale() drop-shadow();

Drop-shadow() フィルターは、基本的な box-shadow と同じパラメーターを受け入れます。拡散半径や挿入キーワードはなく、複数の異なるシャドウをカンマで区切ることはできません。たとえば、

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

と書く代わりに、次のように書くこともできます:

filter: drop-shadow(2px 2px 10px rgba(0,0,0,.5));

以下の画像では、最初に画像に適用された Drop-Shadow() フィルターがわかります。記事のエレメンタル効果。

ここでは別のぼかしアルゴリズムが使用される可能性があるため、ぼかし値の調整が必要になる場合があります。

CSS フィルターの最も優れた点は、CSS フィルターが適切に機能しなくなることです。CSS フィルターをサポートしていないブラウザーで検出された場合、フィルター効果は適用されません。できるだけ多くのブラウザで効果を表示する必要がある場合は、フィルタを組み合わせて適用することでブラウザのサポートを強化できます。各フィルター関数に対応する SVG フィルターは、フィルター効果の仕様で見つけることができます。 SVG フィルターと簡素化された CSS を一緒に使用して、カスケードに最適なものを選択させることができます。

filter: url(drop-shadow.svg#drop-shadow);filter: drop-shadow(2px 2px 10px rgba(0,0,0,.5));

残念ながら、SVG フィルターが別のファイルである場合、CSS In コードでは、これはうまく機能しません。カスタマイズされたユーザーフレンドリーな機能ですが、インライン SVG だとコードが煩雑になってしまいます。ファイル内のパラメータは固定されており、少し異なるシャドウが必要なだけの場合、複数のファイルをインポートするのは現実的ではありません。データ URI を使用することもできますが (追加の HTTP リクエストも節約できます)、それでもファイルは大きくなります。これはフォールバックであるため、わずかに異なる Dropshadow() フィルターであっても、1 つまたは 2 つの変換を使用しても問題ありません。

考慮すべきもう 1 つの問題は、以下に示すように、テキスト (背景が透明な場合) を含むすべての不透明領域が無差別に影付けされることです。 text-shadow: none; を使用してテキストの影を削除できると思いますが、text-shadow は完全に独立しており、テキストに対する Drop-shadow() フィルターの効果を削除することはできません。さらに、text-shadow を使用して実際のテキストの影を実現すると、この影も、drop-shadow() フィルタによって再度影付けされ、影の影が作成されます。以下の例の CSS コードを見てください (完成した効果はまったく美しくありませんが、あらゆる方法でこれを実証しようとしています):

で効果を確認できます。以下の画像。これは text-shadow と drop-shadow() が連携する効果です:

color: deeppink;border: 2px solid;text-shadow: .1em .2em yellow;filter: drop-shadow(.05em .05em .1em gray);

text-shadow は、drop-shadow() フィルターを通じて影も生成します

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

HTMLの将来の傾向はセマンティクスとWebコンポーネントであり、CSSの将来の傾向はCSS-in-JSとCSShoudiniであり、JavaScriptの将来の傾向はWebAssemblyとServerLessです。 1。HTMLセマンティクスはアクセシビリティとSEO効果を改善し、Webコンポーネントは開発効率を向上させますが、ブラウザの互換性に注意を払う必要があります。 2。CSS-in-JSは、スタイル管理の柔軟性を高めますが、ファイルサイズを増やす可能性があります。 CSShoudiniは、CSSレンダリングの直接操作を可能にします。 3. Webassemblyブラウザーアプリケーションのパフォーマンスを最適化しますが、急な学習曲線があり、サーバーレスは開発を簡素化しますが、コールドスタートの問題の最適化が必要です。

HTML:構造、CSS:スタイル、JavaScript:動作HTML:構造、CSS:スタイル、JavaScript:動作Apr 18, 2025 am 12:09 AM

Web開発におけるHTML、CSS、およびJavaScriptの役割は次のとおりです。1。HTMLは、Webページ構造を定義し、2。CSSはWebページスタイルを制御し、3。JavaScriptは動的な動作を追加します。一緒に、彼らは最新のウェブサイトのフレームワーク、美学、および相互作用を構築します。

HTMLの未来:ウェブデザインの進化とトレンドHTMLの未来:ウェブデザインの進化とトレンドApr 17, 2025 am 12:12 AM

HTMLの将来は、無限の可能性に満ちています。 1)新機能と標準には、より多くのセマンティックタグとWebComponentsの人気が含まれます。 2)Webデザインのトレンドは、レスポンシブでアクセス可能なデザインに向けて発展し続けます。 3)パフォーマンスの最適化により、応答性の高い画像読み込みと怠zyなロードテクノロジーを通じてユーザーエクスペリエンスが向上します。

HTML対CSS対JavaScript:比較概要HTML対CSS対JavaScript:比較概要Apr 16, 2025 am 12:04 AM

Web開発におけるHTML、CSS、およびJavaScriptの役割は次のとおりです。HTMLはコンテンツ構造を担当し、CSSはスタイルを担当し、JavaScriptは動的な動作を担当します。 1。HTMLは、セマンティクスを確保するためにタグを使用してWebページの構造とコンテンツを定義します。 2。CSSは、セレクターと属性を介してWebページスタイルを制御して、美しく読みやすくします。 3。JavaScriptは、動的でインタラクティブな関数を実現するために、スクリプトを通じてWebページの動作を制御します。

HTML:それはプログラミング言語か何か他のものですか?HTML:それはプログラミング言語か何か他のものですか?Apr 15, 2025 am 12:13 AM

htmlisnotaprogramminglanguage; itisamarkuplanguage.1)htmlStructuresandformatswebcontentusingtags.2)ItworkswithcsssssssssdjavascriptforInteractivity、強化を促進します。

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、形成、

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ヘンタイを無料で生成します。

ホットツール

SublimeText3 中国語版

SublimeText3 中国語版

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

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境