インラインとインライン ブロック: Margin-Top がインライン ブロックでのみ機能する理由
質問
HTML と CSS を使用する場合、ユーザーが
の上マージンを作成しようとしました。要素ですが、CSS プロパティの表示が inline に設定されている場合ではなく、inline-block に設定されている場合にのみ表示されます。
説明
CSS 仕様では、inline と inline-block の違いが定義されています。次のように:
-
inline-block: インラインレベルのブロックを作成します。要素の内部コンテンツがブロック ボックスとしてフォーマットされ、要素自体がインライン レベルのボックスとしてフォーマットされるコンテナ。
-
inline: 1 つ以上のインライン ボックスを生成します。
重要なことに、CSS2 仕様では、インライン要素は水平方向のマージンのみを考慮すると規定されています (例:
違い
違いは、インライン要素とインラインブロック要素の処理方法にあります。
- インライン中要素は真のインライン要素とみなされ、inline-block 要素はブロックとして扱われますが、視覚的には 1 つの要素とインラインになります。もう 1 つ。
- ブロックレベル要素 (inline-block など) は水平方向と垂直方向の両方のマージンを尊重しますが、インライン要素は水平方向のマージンのみを尊重します。
解像度
したがって、指定されたケースでは、
で表示をインラインに設定します。この要素は水平方向のマージンのみを適用し、margin-top は含まれません。ただし、表示を inline-block に設定すると、margin-top を含め、水平方向と垂直方向の両方のマージンを適用できるようになります。
以上がMargin-Top がインライン要素では機能しないのに、インラインブロック要素では機能するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。