HTMLのインライン要素とブロックレベル要素とは何か、またそれらの違いは何ですか

HTMLのインライン要素とブロックレベル要素とは何か、またそれらの違いは何ですか

以前の就職面接で面接官が尋ねた質問を覚えています。「インライン要素とは何ですか。ブロックレベル要素とどう違うのですか。」これは非常に基本的な面接の質問ですが、多くの初心者は通常、タグのセマンティクスのみに焦点を当て、タグのインラインおよびブロックレベルの特徴を無視します。そのため、上記の質問に答えられないか、不完全な答えになる可能性があります。

HTML の一般的なインライン要素は次のとおりです。

<span>、<a>、<img>、<input>、<textarea>、<select>、<label>

<br>、<b>、<strong>、<sup>、<sub>、<i>、<em>、<del>、<u> などのテキスト要素もあります。

<span> と <img> だけに答えるのは無理があります。

HTML の一般的なブロックレベル要素は次のとおりです。

<div>、<table>、<form>、<p>、<ul>、

<h1>......<h6>、<hr>、<pre>、<address>、<center>、<marquee>、<blockquote> など。

<div> だけに答えると無理があります。

では、それらの違いは何でしょうか?

ブロックレベル要素

1. 常に新しい行から開始します。つまり、各ブロックレベル要素は 1 行を占め、デフォルトでは垂直方向下向きに配置されます。

2. 高さ、幅、余白、パディングはすべて制御可能で、設定はマージン効果とともに効果的です。

3. 幅が設定されていない場合、デフォルトは 100% です。

4. ブロックレベル要素には、ブロックレベル要素とインライン要素を含めることができます。

インライン要素

1. 他の要素と一列に並んでいる、つまり、インライン要素と他のインライン要素が水平方向に並んでいる。

2. 高さと幅は制御できず、設定は無効です。コンテンツによって決定されます。

マージンの設定は左右に有効で、マージン効果があります。

上部と下部のマージンを設定すると、スペースは拡張されますが、マージン効果は生成されません (つまり、ボックス モデルの margin-top/bottom には値がありますが、ページにマージン効果はありません)。

左と右にパディングを設定すると効果的ですが、上と下にパディングを設定するとスペースは広がりますが、マージン効果は得られません (上記と同じ)。

パディング効果は以下のようになります。

<!DOCTYPE html>
<html>
   <ヘッド>
      <メタ文字セット="UTF-8">
   </head>
	<スタイル>
		スパン{
			border:1px 赤一色;
			パディング:10px;
		}
		div{
			border:1px 青一色;
		}
	</スタイル>
   <本文>
	   <div>ブロックレベル要素</div>
	   <span>インライン要素</span>
	   <span>インライン要素</span>
	   <div>ブロックレベル要素</div>
   </本文>
</html> 

3. タグセマンティクスの概念によれば、インライン要素にはインライン要素のみが含まれ、ブロックレベル要素は含まれません。

変換

もちろん、ブロックレベル要素とインライン要素間の特性は相互に変換できます。 HTML では、要素をインライン要素、ブロック要素、インライン ブロック要素の 3 つのタイプに分類できます。

display プロパティを使用して、これら 3 つを次のいずれかに変換します。

(1)display:inline;インライン要素に変換される。

(2)display:block;をブロック要素に変換する。

(3)display: inline-block; インラインブロック要素に変換します。

インライン ブロック要素は、インライン要素とブロック要素の特性を兼ね備えています。

(1)自動的な行の折り返しは行われず、他のインライン要素はすべて水平方向に配置される。

(2)高さ、幅、余白、パディングはすべて制御可能であり、設定はマージン効果とともに効果的である。

(3)デフォルトの配置は左から右です。

以上で、HTML インライン要素とブロックレベル要素とは何か、またその違いについての説明は終了です。HTML インライン要素とブロックレベル要素についてさらに詳しく知りたい方は、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  Jenkins の Docker のデプロイとインストール手順

>>:  CSS3 で作成した本のページめくり効果

推薦する

H5ゲームをnginxサーバーにデプロイする方法の詳細な説明

自己学習型ゲーム開発の道において、最も充実した瞬間は、自分でミニゲームを作り、友達と共有して試しにプ...

MySQL接続クエリにおけるととwhereの違いの簡単な分析

1. テーブルを作成する テーブル「学生」を作成( `id` int(11) NULLではない、 `...

node-media-serverを使用してシンプルなストリーミングメディアサーバーを構築する

node-media-server を使用するプロセスの一部を記録します。この記事の環境はWindo...

Linux (Ubuntu 18.04) に Anaconda をインストールする詳細な手順

Anaconda は、大規模なデータ処理、予測分析、科学計算のための最も人気のある Python デ...

DockerとFastDFSのインストールコマンドと使い方の詳しい説明

Dockerの機能1) すぐに始められるユーザーがプログラムを「Docker 化」するには、わずか数...

Linux のメモリ管理とアドレス指定の詳細な紹介

目次1. コンセプトメモリ管理モード住所種別分類例: 2. ページ管理x86 アーキテクチャ 32 ...

CSS のサイズ単位についての簡単な説明

ブラウザの互換性はどんどん良くなってきています。モバイル端末は基本的にすべてWebKitベースです。...

JavaScript スネーク実装コード

この記事の例では、参考までに貪欲なスネークを実装するためのJavaScriptの具体的なコードを共有...

Docker ベースの Selenium 分散環境の構築

1.画像をダウンロードするdocker pull selenium/hub docker pull ...

フロントエンドJavaScriptの約束

目次1. Promiseとは何か2. 基本的な使い方3. Promiseメソッド3.1 Promis...

CSS スタイルが機能しない (史上最も完全な解決策の概要)

ページを作成するときに、記述した CSS スタイルが有効にならないことがあります。この現象にはさまざ...

MySQL で主キーと ROWID を使用する際の落とし穴の概要

序文MySQL の rowid の概念については聞いたことがあるかもしれませんが、テストや実践が難し...

MySQLのロック構造の詳細な説明

Mysqlは3種類のロック構造をサポートしていますテーブルレベルのロック、低オーバーヘッド、高速ロッ...

さまざまなターミナルで Mac が SSH 経由でリモート サーバーに接続する方法の説明

Macはシェル(ターミナル)SSHを使用してリモートサーバーに接続します前提条件: 接続する必要があ...