LoginSignup
1
3

More than 1 year has passed since last update.

【CSS】ブロックボックスとインラインボックス ~divとspanの違い~

Posted at

はじめに

  • divとspanの使い分けがあやふやだったのでまとめました。

ブロックボックスとインラインボックスについて

それぞれの違いは?

  • 改行されるかどうか
    • ブロックボックスは改行される
    • インラインボックスは改行されない
  • width、heightプロパティの挙動
    • ブロックボックスは適用される
    • インラインボックスは適用されない
  • padding、margin、borderの挙動
    • ブロックボックスは適用される
    • インラインボックスはpadding、margin、borderがきたとき他の要素は無視される
html
<!DOCTYPE html>
<html lang="ja">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <link rel="stylesheet" href="style.css" />
  </head>
  <body style="margin: 0">

    <div>私はブロックです</div><div>私はブロックです</div><div>私はブロックです</div>
    <hr />
    <span>私はインラインです</span><span>私はインラインです</span><span>私はインラインです</span>

  </body>
</html>

FireShot Capture 076 - Document - .png

display: 無理やりインラインボックスとブロックボックスを変更する

  • displayを使うことでインラインボックスとブロックボックスを変更する事ができる

ブロックボックスをインラインボックスへ変更する

css
div {
  display: inline;
}

インラインボックスをブロックボックスへ変更する

css
span {
  display: block;
}

inline-block: インラインボックスとブロックボックス両方の性質を持つ

  • display: inline-block;を使うことで両方の性質をもたせることができる
html
<!DOCTYPE html>
<html lang="ja">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <link rel="stylesheet" href="style.css" />
  </head>
  <body style="margin: 0">

    <div>ブロック内の<span>インライン</span>です。インラインの場合は、margin,padding,borderがきたときに他の要素のことを考えません。</div>

  </body>
</html>

css
span{
  background-color: yellow;
  margin: 20px;
  border: 1px solid black;
  padding: 20px;
  display: inline-block;
}
  • 下の画像のようにインラインで表示されているが、padding、margin、borderが効いているのがわかる。
スクリーンショット 2021-09-04 21.18.03.png
1
3
0

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
1
3