HTMLのブロック要素とインライン要素:なぜ区別するのですか?


14

ブロック要素とインライン要素の区別はいつも奇妙に思えました。全体的な違いは、ブロック要素が幅全体を占有するため、要素の前後に改行が強制されることと、インライン要素がコンテンツと同じくらいしか占有しないことです。要素の種類が1つだけでなく、カスタムの高さ/幅も適用できるインライン要素を使用しないのはなぜですか?改行が必要ですか?を挿入する<br />か、その動作のためにCSSに特別なタグを追加します。現在の方法では、問題を解決することはできません。代わりに、デザイナーが決定すべきプロパティを強制するだけです。

では、なぜ2つのタイプなのでしょうか?


この質問の私のお気に入りの部分は、のインラインスタイル<br/><p>タグを使用して、最初の段落から最後の行を分離する方法です。おそらく、実装の違いではなく、視覚的な意図の大きな違いに目を向けるべきでしょう。
リウォーク

1
ブロック要素は有用であり、提案された解決策に同意しないと私は100%信じていますが、これはまだ素晴らしい質問です。
ニコール

回答:


12

あなたは言う:

改行が必要ですか?を挿入する<br />か、その動作のためにCSSに特別なタグを追加します。現在の方法では、問題を解決することはできません。代わりに、デザイナーが決定すべきプロパティを強制するだけです。

あなたは正しい軌道に乗っています- スタイルはデザイナーによって決定されるべきです。

しかし、あなたは問題を抱えています。<br/>タグの 挿入は、実際には「デザイナーが決定する必要のあるプロパティを強制する」オプションです。マークアップドキュメント内に、いったん<br/>存在すればそこに存在します。

elements一方、Inline / block は、一般的なユースケースに便利なデフォルトでスタイル設定された純粋な要素です。ビジュアルプロパティ自体は、display:inlineまたはを使用してCSSデザイナーが即座に変更できますdisplay:block

たとえば、最近のナビゲーションの一般的な要素を見てみましょう- <li>。これらはデフォルトのblock要素ですが、デザイナーはそれらfloatをインラインで表示するようにします(block行全体を占有するよりも特別なプロパティがありますが、それは別の日の会話です)。


3

ほとんどの要素には標準の書式設定があります...この書式設定も設計者の決定であり、削除する必要があると言うように質問を拡張できます。私は常にそれが出発点であると考え、必要に応じてフォーマットを削除しました(しばしばそうではありませんでした)。しかし、最終的には自然なことがいくつかあります。たとえば、段落がある場合、それは段落の性質であるため、ブロック要素であると予想されます。要素がブロックやインラインなどのデフォルト設定を持っているかどうかに関係なく、私は間違いなくこのオプションを指定する機能が必要です。私がこれを言う理由は、物事をこのように壊すよりも、<br />HTMLで。同じことをしますか?はい。しかし、HTMLの最近の進歩により、フォーマットに関する限りHTMLを少なくし、CSSをより多く使用するセマンティック言語の作成に大きな努力が注がれました。<br />通常、段落または他の文を含む構造体に改行を参照している手段の改行。最終的にはそれは重要ではありませんが、個人的にはブロックとインラインの区別ができるようにしたいので、少なくともCSS側からそれを削除しないことを願っています!


1

これは、段落と文の間に実際の違いはないと言っているようなものです。段落はアイデアのグループを区切ります。通常、文は単一のアイデアに対するものです。

マークアップは、表示ではなくセマンティクスに関するものです。実際、デザイナは、デフォルトでブロックスタイルに設定されている要素をインラインとして、またはその逆に自由に扱うことができます。


1

LaTeXの水平モードと垂直モード:、(数式モードを含まない)は、2つのモードがあります。要素(文字)は、段落内に「水平方向に」蓄積される小さなボックスです。次に、これらの大きなボックスが垂直に累積します。これは(X)HTMLに似ています:インラインとブロック。


0

私には後方互換性の問題のように聞こえます。インライン要素はおそらくHTML標準に後から追加されたため、1992年に書かれたWebページは2011年でも引き続き表示できるように、まだサポートされています。


-1

表示モードはブロックとインラインで非常に異なるため、マークアップレベルで作成する価値があると思います。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.