CSSのブロックレベル要素とインライン要素の違いです。
目次
サンプル | ブロックレベル要素 |
インライン要素 | |
インライン要素+ブロックレベル要素 |
※html5の定義は廃止されましたが使用できます。
ブロックレベル要素
- ブロックレベル要素を続けて記述した場合、画面上は縦(新しい行)になります。
- 横(左右)はできる限り伸びます。
- widthとheightで幅と高さを指定できます。
- marginは、上下左右効きます。
ブロックレベル要素のサンプルです。
<p>TEST1</p>
<p>TEST2</p>
<p>TEST3</p>
画面でみた場合以下になります。
主なブロックレベル要素
article | footer | ol |
aside | form | p |
blockquote | h1からh6 | pre |
body | header | section |
dd | hr | select |
details | html | summary |
dialog | li | sup |
div | main | table |
dl | menu | ul |
dt | nav |
インライン要素
- インライン要素を続けて記述した場合、画面上は横に並びます。
- widthとheightで幅と高さを指定できません。(img,inputは可能)
- marginは、左右のみ効きます。(img,inputは上下も可能)
インライン要素のサンプルです。
<p>
<span>aaa</span>
<span>bbb</span>
<span>ccc</span>
</p>
画面でみた場合以下になります。
主なインライン要素
a | em | strong |
audio | iframe | sub |
br | img | textarea |
button | input | time |
canvas | label | video |
code | object | |
embed | span |
インライン要素+ブロックレベル要素
display:inline-block |
- display:inline-blockと指定するとinlineと同じように画面上は横に並びかつ
widthとheightで幅と高さを指定できます。(←inlineでは幅と高さの指定ができない) - marginも上下左右効きます。
- 便利なのでよく使われるテクニックです。
インライン要素+ブロックレベル要素のサンプルです。
<style>
.box1 div {
display: inline-block;
width: 100px;
height: 50px;
margin: 10px 10px 10px 10px;
background-color: #f5deb3;
}
</style>
<div class="box1">
<div>abc</div>
<div>abc</div>
<div>abc</div>
</div>
3行目はdisplayにinline-blockを指定しています。
11~13行目は、ブロックレベル要素のdivタグが続いていますが
inline-blockの指定があるので横に並びます。
4~6行目のwidthとheightとmarginは反映されます。
以下は実行結果のイメージです。
関連の記事