次のスタイルシートを W3C バリデーターに渡したところ、合格しました。
a {
display: block;
}
確認したいのですが、インライン要素をブロック要素として使用することは有効なマークアップですか? 私はそれがうまくいくことを知っていますが、それは有効ですか?
ありがとう
はい、完全に有効です。そして便利すぎる。
1 つ注意点があります (上記の回答は非常に短いため)、通常はインライン要素をブロック要素としてスタイル設定するこの方法は非常に一般的です。たとえば、リストから水平ナビゲーション メニューを作成する場合、リンクが親リスト アイテムの幅と高さ全体を占めることができるように、 で<a>
スタイル設定された要素がよく見られます。display:block
スタイル シートは、CSS 仕様に準拠しているという意味で有効です。これは純粋に形式的なものです。CSS では、セレクターa
に特別な意味はなく、単なる識別子です。CSS には、インライン要素であるなど、HTML における の意味に関する情報はありませんa
。実際、スタイル シートを使用して XML ドキュメントのスタイルを設定できますが、a
これはまったく別のものを意味します。
一方、HTML の有効性は CSS にまったく依存しません。マークアップに関しては形式的なものであり、スタイル シートはマークアップではありません。
それが他の非公式な意味で「有効」であるかどうか (「良い実践」、「有用」、「スタイルガイドへの準拠」など) は別の問題であり、技術的な問題ではなく議論の問題です。display: block
いずれにせよ、要素を設定して、ブロックに対してできる方法でその寸法を設定できるようにするのは一般的な使用法a
です (たとえば、テーブルのセルをリンクで埋めるなど)。