LoginSignup
66
34

More than 3 years have passed since last update.

[CSS] width:100% と width:auto の違い

Last updated at Posted at 2021-03-30

はじめに

質問されたときにパッと答えられなかったので記事にまとめました!

width: 100%とは?

widthにpaddingとborderは含まれない

widthの幅指定にpaddingとborderが含まれないため、HTMLの子要素にwidth:100%を指定したうえで、paddingとborderを指定してしまうと、親要素から子要素がはみ出て画面に表示される

サンプルコード


<div class='parent'>
 <div class='children'>children</div>
</div>

.parent {
  width: 400px;
  height: 200px;
  background-color: red;
}

.children {
  width: 100%;
  height: 150px;
  border: 10px solid blue;
  background-color: yellow;
}

デザイン

width.png

width: autoとは?

widthの中にpaddingとborderが含まれる

widthの幅指定にpaddingとborderが含まれるため、HTMLの子要素にwidth:autoを指定したうえで、paddingもしくはborderを指定しても、親要素から子要素がはみ出ないで画面に表示される

サンプルコード


<div class='parent'>
 <div class='children'>children</div>
</div>

.parent {
  width: 400px;
  height: 200px;
  background-color: red;
}

.children {
  width: auto;
  height: 150px;
  border: 10px solid blue;
  background-color: yellow;
}

デザイン

width2.png
親要素から子要素がはみ出ないで表示されていますね

結論

width: 100%を指定するとwidthにpaddingとborderは含まれない
width: autoを指定するとwidthにpaddingとborderは含まれる

66
34
4

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
66
34