LoginSignup
9
10

More than 5 years have passed since last update.

インライン要素とブロック要素に気をつけろ。

Posted at

ついつい忘れがちですがHTMLにはインライン要素とブロック要素があります。そして

  • ブロックレベル要素 : ブロックレベル要素とインライン要素を含むことができる。
  • インライン要素 : コンテンツとインライン要素しか含むめない。

これはHTMLの設計がブロックレベル要素が「より大きな構造を構築する」という考え方だからです。

ざっくり言うと、セクショニング(構造をつくる)要素はブロック要素で、細かい修飾をする要素が、インライン要素と言えるかもしれません。

よく使うブロックレベル要素

<address> :意外とどっちかなー?と思いつつブロックレベル。個人的にインライン寄り。
<article> <aside> <footer> <header> <h1~6> <nav> <section>:全部構造を作る系のタグなので納得のブロックレベル。
<div> :ブロックレベルの代表格。
<ul> <li> :これもリスト構造作るから。
<pre> :整形済みテキスト。これもインラインよりと思いつつブロックレベル要素。
<hr> :テーマの区切り。水平線。これもインラインより。

よく使うインライン要素

<b> :文章を修飾するのでインライン。
<storng> :文章を修飾するのでインライン。
<code> :文章を修飾するのでインライン。
<small> :文章を修飾するのでインライン。
<span> :文章を修飾するのでインライン。
<cite> :作品のタイトルまたはURLを囲う。文章を修飾するのでインライン。
<q> :引用情報を囲う。文章を修飾するのでインライン。
<blockquote> :長文の引用情報を囲う。文章を修飾するのでインライン。

どっちか迷う要素たち

<table> :テーブルという構造を作るから、ブロックライン
<form> :フォームという構造を作るから、ブロックライン
<button> :フォームの要素系はインライン
<input>インライン
<label>インライン

気をつけるべき要素たち

<a> :インライン要素だがHTML5からはブロックレベル要素を含めることが可能に。

参照
MDN web docs | ブロックレベル要素
MDN web docs | インライン要素
MDN web docs | HTML要素リファレンス

9
10
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
10