--- title: width slug: Web/CSS/width translation_of: Web/CSS/width ---
The width
CSS property specifies the width of an element. By default, the property defines the width of the content area. If {{cssxref("box-sizing")}} is set to border-box
, however, it instead determines the width of the border area.
/* <length> values */ width: 300px; width: 25em; /* <percentage> value */ width: 75%; /* Keyword values */ width: 25em border-box; width: 75% content-box; width: max-content; width: min-content; width: available; width: fit-content; width: auto; /* Global values */ width: inherit; width: initial; width: unset;
<div class="grid"> <div class="col"> <div class="cell"> <length> values <p class="w1">width: 150px</p> <p class="w2">width: 20em</p> <p class="w3 warning" title="this feature is experimental and might not work in your browser">width: 20em content-box</p> <p class="w4 warning" title="this feature is experimental and might not work in your browser">width: 20em border-box</p> </div> <div class="cell"> <percentage> values <p class="w5">width: 75%</p> <p class="w6 warning" title="this feature is experimental and might not work in your browser">width: 75% content-box</p> <p class="w7 warning" title="this feature is experimental and might not work in your browser">width: 75% border-box</p> </div> <div class="cell"> Keyword values <p>width: auto</p> <p class="w8 warning" title="this feature is experimental and might not work in your browser">width: max-content</p> <p class="w9 warning" title="this feature is experimental and might not work in your browser">width: min-content</p> <p class="w10 warning" title="this feature is experimental and might not work in your browser">width: available</p> <p class="w11 warning" title="this feature is experimental and might not work in your browser">width: fit-content</p> </div> </div> </div>
sd
html,body { height: 100%; box-sizing: border-box; } .grid { width: 100%; height: 100%; display: flex; background: #EEE; font: 1em monospace; } .col { display: flex; flex: 1 auto; flex-direction: column; } .cell { margin: .5em; padding: .5em; background-color: #FFF; overflow: hidden; text-align: left; font-style: italic; } p { font-size: 1rem; font-style: normal; background: #E4F0F5; padding: .5em; margin: .5em; } .warning { background: #E4E4E4; } .warning:before { content: "⚠️ "; } /* values */ .w1 { width: 150px; } .w2 { width: 20em; } .w3 { width: 20em content-box; } .w4 { width: 20em border-box; } /* value */ .w5 { width: 75%; } .w6 { width: 75% content-box; } .w7 { width: 75% border-box; } /* Keyword values (mostly experimental) */ .w8 { width: max-content; } .w9 { width: min-content; } .w10 { width: available; } .w11 { width: fit-content; }
注意: {{cssxref("min-width")}} 和 {{cssxref("max-width")}} 會覆寫 {{cssxref("width")}}.
The width
property is specified as either:
available
, min-content
, max-content
, fit-content
, auto
.<length>
or a <percentage>
. This may optionally be followed by one of the following keywords: border-box
, content-box
.border-box
{{experimental_inline}}content-box
{{experimental_inline}}auto
fill
{{experimental_inline}}fill-available
inline size or fill-available
block size, as appropriate to the writing mode.max-content
{{experimental_inline}}min-content
{{experimental_inline}}available
{{experimental_inline}}fit-content
{{experimental_inline}}p.goldie { background: gold; }
<p class="goldie">The Mozilla community produces a lot of great software.</p>
{{EmbedLiveSample('Default_width', '500px', '64px')}}
.px_length { width: 200px; background-color: red; color: white; border: 1px solid black; } .em_length { width: 20em; background-color: white; color: red; border: 1px solid black; }
<div class="px_length">Width measured in px</div> <div class="em_length">Width measured in em</div>
{{EmbedLiveSample('Pixels_and_ems', '500px', '64px')}}
.percent { width: 20%; background-color: silver; border: 1px solid red; }
<div class="percent">Width in percentage</div>
{{EmbedLiveSample('Percentage', '500px', '64px')}}
p.maxgreen { background: lightgreen; width: intrinsic; /* Safari/WebKit uses a non-standard name */ width: -moz-max-content; /* Firefox/Gecko */ width: -webkit-max-content; /* Chrome */ }
<p class="maxgreen">The Mozilla community produces a lot of great software.</p>
{{EmbedLiveSample('max-content_2', '500px', '64px')}}
p.minblue { background: lightblue; width: -moz-min-content; /* Firefox */ width: -webkit-min-content; /* Chrome */ }
<p class="minblue">The Mozilla community produces a lot of great software.</p>
{{EmbedLiveSample('min-content_2', '500px', '155px')}}
Specification | Status | Comment |
---|---|---|
{{SpecName('CSS3 Box', '#the-width-and-height-properties', 'width')}} | {{Spec2('CSS3 Box')}} | Added the max-content , min-content , available , fit-content , border-box , content-box keywords. |
{{SpecName('CSS3 Transitions', '#animatable-css', 'width')}} | {{Spec2('CSS3 Transitions')}} | Lists width as animatable. |
{{SpecName('CSS2.1', 'visudet.html#the-width-property', 'width')}} | {{Spec2('CSS2.1')}} | Precises on which element it applies to. |
{{SpecName('CSS1', '#width', 'width')}} | {{Spec2('CSS1')}} | Initial definition. |
{{SpecName('CSS3 Sizing', '#width-height-keywords', 'width')}} | {{Spec2('CSS3 Sizing')}} | Adds new sizing keywords for width and height. |
{{Compat("css.properties.width")}}