--- 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}}autofill {{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")}}