ホームページ >ウェブフロントエンド >CSSチュートリアル >CSS を使用してブロック要素を他のブロック要素を含むインライン要素としてスタイル設定することは倫理的ですか?
ブロック要素に他のブロック要素が含まれている場合、CSS を使用してブロック要素をインライン要素に変換するのは倫理的ですか?
HTML では、ブロック要素は自然に流れます個々のユニットとして、コンテナの幅全体を占めます。一方、インライン要素は、他のインライン要素と同じテキスト行内に収まります。
次の有効な HTML マークアップを検討してください:
次の CSS ルールを適用します:
は div をインライン要素に変換しますが、囲まれた p 要素はデフォルトでブロック要素のままです。これにより、インライン要素 (div) にブロック要素 (p) が含まれる状況が生じます。
これは HTML の有効性に違反するのでしょうか?という疑問が生じます。これに答えるには、HTML の有効性がどのように評価されるかを考慮する必要があります。 CSS ルールが適用される前に決定されますか?それとも適用された後に決定されますか?
CSS 2.1 仕様によると:
言い換えると、CSS は、ブロック要素を含む場合にインライン要素がどのように動作するかを明示的に定義します。 。この例では、p.
を収容するために div が 2 つの匿名ブロック ボックスに分割されています。CSS 仕様では動作が明確に定義されていますが、ブラウザー間の一貫性については未解決の疑問が残っています。ただし、CSS が Web 標準であることを考えると、ブラウザはその仕様に従うことが期待されます。
さらに、HTML5 ではこれらの制限の一部が緩和され、特定のコンテキスト (たとえば、アンカータグ。これは、リンクされたコンテンツの大きなブロックを作成する場合に特に便利です。
最終的に、ブロック要素をブロック要素を含むインライン要素に変換できるかどうかは、特定のユースケースとブラウザーの互換性の問題によって決まります。ブラウザ間で一貫した動作が重要な場合は、そのような構造を避けることが望ましい場合があります。
以上がCSS を使用してブロック要素を他のブロック要素を含むインライン要素としてスタイル設定することは倫理的ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。