HTML & CSS

widthプロパティ

  1. 最終更新日:
  2. 公開日:

widthプロパティは要素の幅を指定するプロパティです。

  • 初期値

    auto

  • 継承

    不可

  • 適用できる要素

    テーブルの列を除く全要素

widthプロパティが指定できる値

widthプロパティには以下の値を設定することができます。

内容
auto初期値。自動的に計算された幅を適用。
数値 + 単位任意の単位(pxem)で幅を指定。
数値 + %親要素に対する割合を指定。

以降はwidthプロパティを使ったコードと、ブラウザの使用例を紹介していきます。

使用例1: auto

widthプロパティに「auto」で横幅を指定する例です。
自動的に親要素と同じ幅へ調整されています。

CSS コード例

.sample1 {
  box-sizing: border-box;
  padding: 20px;
  width: 500px;
  border: 1px solid #ccc;
}
.sample1 h2 {
  margin-bottom: 20px;
  font-size: 12px;
  font-weight: 500;
  color: #666;
}
.sample1 .text {
  width: auto;
  background: #f5bf56;
}

HTML コード例

<div class="sample1">
  <h2>width: auto;</h2>
  <p class="text">widthプロパティのテスト。</p>
</div>

ブラウザで表示してみると以下のようになります。

text-decoration-lineプロパティの適用例

使用例2: px指定

widthプロパティに「数値 + px」で横幅を指定する例です。
自動的に親要素と同じ幅へ調整されています。

CSS コード例

.sample2 {
  box-sizing: border-box;
  padding: 20px;
  width: 500px;
  border: 1px solid #ccc;
}
.sample2 h2 {
  margin-bottom: 20px;
  font-size: 12px;
  font-weight: 500;
  color: #666;
}
.sample2 .text {
  width: 100px;
  background: #f5bf56;
}

HTML コード例

<div class="sample2">
  <h2>width: 100px;</h2>
  <p class="text">widthプロパティのテスト。</p>
</div>

ブラウザで表示してみると以下のようになります。

widthプロパティにpx指定したときの表示例

使用例3: %指定

widthプロパティに「数値 + %」で横幅を指定する例です。
親要素の横幅が500pxの場合、子孫要素の横幅を50%を指定すると250pxに自動的に計算されて表示されます。

様々な横幅のデバイスに対応するためにレスポンシブ表示にするときなど、横幅が可変する前提でレイアウトを組む場合に便利な指定方法です。

CSS コード例

.sample3 {
  box-sizing: border-box;
  padding: 20px;
  width: 500px;
  border: 1px solid #ccc;
}
.sample3 h2 {
  margin-bottom: 20px;
  font-size: 12px;
  font-weight: 500;
  color: #666;
}
.sample3 .text {
  width: 50%;
  background: #f5bf56;
}

HTML コード例

<div class="sample3">
  <h2>width: 50%;</h2>
  <p class="text">widthプロパティのテスト。</p>
</div>

ブラウザで表示してみると以下のようになります。

widthプロパティに%指定したときの表示例

使用例4: calc関数による計算結果で指定

widthプロパティcalc関数の計算結果を横幅として指定することができます。

例えば2つの要素を横並びにレイアウトするとき、片方の横幅が「100px」と決まっていて残りをもう片方の要素の横幅にしたいケースでは「calc(100% - 100px)」のように指定することができます。

実際に指定するCSSは以下のようになります。
今回はclass名text1」を「100px」の固定にし、class名text2」に対してcalc関数によるwidthプロパティの指定を行っています。

CSS コード例

.sample4 {
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  padding: 20px;
  width: 500px;
  border: 1px solid #ccc;
}
.sample4 h2 {
  margin-bottom: 20px;
  width: 100%;
  font-size: 12px;
  font-weight: 500;
  color: #666;
}
.sample4 .text1 {
  width: 100px;
  background: #f5bf56;
}
.sample4 .text2 {
  width: calc(100% - 100px);
  background: #569df5;
}

HTML コード例

<div class="sample4">
  <h2>width: calc(100% - 100px);</h2>
  <p class="text1">1つ目のテキスト。</p>
  <p class="text2">2つ目のテキスト。</p>
</div>

ブラウザで表示してみると以下のようになります。

widthプロパティにcalc関数による計算で指定したときの表示例

記事一覧