ホームページ >ウェブフロントエンド >CSSチュートリアル >CSS :after 疑似要素がすべての HTML 要素で機能しないのはなぜですか?

CSS :after 疑似要素がすべての HTML 要素で機能しないのはなぜですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-16 14:41:10670ブラウズ

Why Doesn't the CSS :after Pseudo-element Work on All HTML Elements?

CSS :after プロパティの制約を明らかにする

CSS :after 擬似要素は、ドキュメント内の要素のコンテンツの後にコンテンツを追加します。木。ただし、その適用性には疑問が生じます。

要素の制限

CSS 仕様では、要素のツリー コンテンツの前後のコンテンツに :after を適用できると記載されています。制限なしで。ただし、実際には、画像 (CSS :after 疑似要素がすべての HTML 要素で機能しないのはなぜですか?)、入力 ()、テーブル (

) などの特定の要素はさまざまな動作を示します。

理解置換された要素

この動作を理解する鍵は、置換の概念にあります。要素。置換された要素とは、画像、プラグイン、フォーム要素などの外部リソースによって外観と寸法が定義された要素です。

:after および置換された要素

Crucially 、CSS 仕様では、:before と :after は非置換でのみ機能すると明示的に述べられています。 したがって、CSS :after 疑似要素がすべての HTML 要素で機能しないのはなぜですか? のような要素を置き換えます。 <入力> :after または :before プロパティを持つことはできません。

DOM 構造の考慮事項

非置換要素で :before および :after を使用する場合、DOM 構造は次のようになります。 this:

span の内容

画像などの置換された要素の場合、これ構造が実現不可能であるため、動作に一貫性がありません。

以上がCSS :after 疑似要素がすべての HTML 要素で機能しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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