Caution

お使いのブラウザはJavaScriptが実行できない状態になっております。
当サイトはWebプログラミングの情報サイトの為、
JavaScriptが実行できない環境では正しいコンテンツが提供出来ません。
JavaScriptが実行可能な状態でご閲覧頂くようお願い申し上げます。

CSSプロパティ辞典

width

要素の横幅を指定できます。

サンプルコード
p.test { width: 500px;}
p.test1 { width: auto;}
指定可能な値一覧
概要
auto包含ブロックの大きさを自身のパディングとボーダーを含めた状態で引き継ぎます。img要素に指定した場合は画像サイズそのままの大きさで反映するか、もしくはアスペクト比が維持できる横幅を高さに合わせて自動算出します。『width』プロパティの初期値はこの『auto』となります。
数値数値で指定します。主に使用される単位は『px』や『%』です。負の値の指定はできません。『%』で指定した場合の基準となる大きさは包含ブロックの横幅となります。
ブラウザでの表示結果
<div style="width: 500px; background-color: #ff0;">ここはdiv要素です。『width: 500px』と指定しています。</div>

<div style="width: 500px; border: solid 1px #f00;">
	<div style="width: auto; background-color: #ff0;">ここはdiv要素の中のdiv要素です。親のdiv要素(赤枠の要素)に『width: 500px』と指定し、この要素(背景色黄色の要素)には『width: auto』と指定しています。この要素の横幅は親要素の大きさを引き継ぐため、『500px』となります。</div>
</div>

対応ブラウザ
IE6 IE7 IE8 IE9 IE10 IE11 Safari Chrome Firefox Opera

iPhone Safari Android2系 標準ブラウザ Android4系 標準ブラウザ

概要

要素の横幅を指定できます。

置換要素以外のインラインレベル要素に『width』プロパティを指定しても反映されません。置換要素とはimg要素、input要素、object要素、select要素、textarea要素、button要素等以外の『display』プロパティの値が『inline』となっている要素です。

<p>
	<span style="width: 500px; background-color: #ff0;">ここはspan要素です。『width: 500px』と指定していますが非置換要素のインラインレベル要素のため『width』プロパティは反映されません。</span>
</p>

<p><img style="width: 300px;" src="/dics/dictionary-css/img/sample.jpg"></p>

値の単位を『%』で指定した場合は包含ブロックの大きさを基準とした相対値となります。その際は自身のボーダーとパディングの値を含まない状態で反映します。

<div style="width: 500px; border: solid 1px #f00;">
	<div style="width: 100%; background-color: #ff0;">ここはdiv要素の中のdiv要素です。親のdiv要素(赤枠の要素)に『width: 500px』と指定し、この要素(背景色黄色の要素)には『width: 100%』と指定しています。この要素の横幅は親要素の大きさを基準とした相対値となるため、『500px』となります。</div>
</div>

<div style="width: 400px; border: solid 1px #f00;">
	<img style="width: 100%;" src="/dics/dictionary-css/img/sample.jpg">
</div>

<div style="width: 400px; border: solid 1px #f00;">
	<div style="width: 100%; padding: 0 50px; background-color: #ff0; opacity: 0.7;">ここはdiv要素の中のdiv要素です。親のdiv要素(赤枠の要素)に『width: 400px』と指定し、この要素(背景色黄色の要素)には『width: 100%』、『padding: 0 50px』と指定しています。この要素の横幅は親要素の大きさを基準とした相対値となりますが、自身のパディングの大きさが加算されるため、『500px』となり親要素を突き破ります。</div>
</div>

インライン要素、及びimg要素以外の『width』プロパティの値を『auto』とした場合は包含ブロックの大きさを引き継ぎます。『100%』と指定した場合とほぼ同じようなレンダリングとなりますが、『auto』と指定した場合は自身のボーダーとパディングを含めた状態で包含ブロックの『100%』の大きさとなります。

<div style="width: 500px; border: solid 1px #f00;">
	<div style="width: auto; padding: 0 50px; background-color: #ff0;">ここはdiv要素の中のdiv要素です。親のdiv要素(赤枠の要素)に『width: 500px』と指定し、この要素(背景色黄色の要素)には『width: auto』、『padding: 0 50px』と指定しています。この要素の横幅は親要素の大きさと同じになります。自身のパディングの大きさは加算されないため、親要素と同じ大きさの『500px』となります。</div>
</div>

img要素の『width』プロパティを『auto』とした場合はその画像の大きさで反映されます。尚、『height』プロパティの値に『auto』以外の値が指定されていた場合はアスペクト比が維持できる横幅を高さに合わせて自動算出します

<p><img style="width: auto;" src="/dics/dictionary-css/img/sample.jpg"></p>

<p><img style="width: auto; height: 150px;" src="/dics/dictionary-css/img/sample.jpg"></p>

記事の間違いや著作権の侵害等ございましたらお手数ですがまでご連絡頂ければ幸いです。