width
åºçº¿
广æ³å¯ç¨
*
èª 2015å¹´7æ èµ·ï¼æ¤ç¹æ§å·²å¨ä¸»æµæµè§å¨ä¸å¾å°æ¯æï¼å¯å¨å¤§å¤æ°è®¾å¤åæµè§å¨çæ¬ä¸æ£å¸¸ä½¿ç¨ã
* æ¤ç¹æ§çæäºé¨åçæ¯æç¨åº¦å¯è½ææä¸åã
width 屿§ç¨äºè®¾ç½®å
ç´ ç宽度ãwidth é»è®¤è®¾ç½®å
容åºåç宽度ï¼ä½å¦æ box-sizing 屿§è¢«è®¾ç½®ä¸º border-boxï¼å°±è½¬è设置边æ¡åºåç宽度ã
å°è¯ä¸ä¸
width: 150px;
width: 20em;
width: 75%;
width: auto;
<section class="default-example" id="default-example">
<div class="transition-all" id="example-element">
This is a box where you can change the width.
</div>
</section>
#example-element {
display: flex;
flex-direction: column;
background-color: #5b6dcd;
height: 80%;
justify-content: center;
color: #ffffff;
}
è¯æ³
/* <length> values */
width: 300px;
width: 25em;
/* <percentage> value */
width: 75%;
/* Keyword values */
width: max-content;
width: min-content;
width: fit-content(20em);
width: auto;
/* Global values */
width: inherit;
width: initial;
width: unset;
width 屿§ä¹æå®ä¸ºï¼
- ä¸é¢å
³é®åå¼ä¹ä¸ï¼
min-contentï¼max-contentï¼fit-contentï¼autoã - ä¸ä¸ªé¿åº¦å¼
<length>æè ç¾åæ¯å¼<percentage>ã
å¼
<length>-
使ç¨ç»å¯¹å¼å®ä¹å®½åº¦ã
<percentage>-
使ç¨å¤å±å ç´ ç容纳åºå宽度ï¼the containing block's widthï¼çç¾åæ¯å®ä¹å®½åº¦ã
auto-
æµè§å¨å°ä¼ä¸ºæå®çå ç´ è®¡ç®å¹¶éæ©ä¸ä¸ªå®½åº¦ã
max-content-
å ç´ å å®¹åºæçï¼intrinsicï¼åé宽度ã
min-content-
å ç´ å å®¹åºæçæå°å®½åº¦ã
fit-content-
å以ä¸ä¸¤ç§å¼ä¸çè¾å¤§å¼ï¼
- åºæçæå°å®½åº¦
- åºæé¦é宽度ï¼max-contentï¼åå¯ç¨å®½åº¦ï¼availableï¼ä¸¤è ä¸çè¾å°å¼
å¯è¡¨ç¤ºä¸ºï¼
min(max-content, max(min-content, <length-percentage>))
å½¢å¼è¯æ³
width =
auto |
<length-percentage [0,â]> |
min-content |
max-content |
fit-content( <length-percentage [0,â]> ) |
<calc-size()> |
<anchor-size()> |
stretch |
fit-content |
contain
<length-percentage> =
<length> |
<percentage>
<calc-size()> =
calc-size( <calc-size-basis> , <calc-sum> )
<anchor-size()> =
anchor-size( [ <anchor-name> || <anchor-size> ]? , <length-percentage>? )
<calc-size-basis> =
<size-keyword> |
<calc-size()> |
any |
<calc-sum>
<calc-sum> =
<calc-product> [ [ '+' | '-' ] <calc-product> ]*
<anchor-name> =
<dashed-ident>
<anchor-size> =
width |
height |
block |
inline |
self-block |
self-inline
<calc-product> =
<calc-value> [ [ '*' | / ] <calc-value> ]*
<calc-value> =
<number> |
<dimension> |
<percentage> |
<calc-keyword> |
( <calc-sum> )
<calc-keyword> =
e |
pi |
infinity |
-infinity |
NaN
示ä¾
>é»è®¤å®½åº¦
p.goldie {
background: gold;
}
<p class="goldie">The Mozilla community produces a lot of great software.</p>
åç´ px ååé« em
.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">以 px 度éç宽度</div>
<div class="em_length">以 em 度éç宽度</div>
ç¾åæ¯
.percent {
width: 20%;
background-color: silver;
border: 1px solid red;
}
<div class="percent">æç
§ç¾åæ¯åº¦éç宽度</div>
max-content 使ç¨ç¤ºä¾
p.maxgreen {
background: lightgreen;
width: intrinsic; /* Safari/WebKit 使ç¨äºéæ åçåç§° */
width: -moz-max-content; /* Firefox/Gecko */
width: -webkit-max-content; /* Chrome */
}
<p class="maxgreen">The Mozilla community produces a lot of great software.</p>
min-content 使ç¨ç¤ºä¾
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>
æ éç¢èè
å½é¡µé¢æ¾å¤§ä»¥å¢å ææ¬å¤§å°æ¶ï¼è¯·ç¡®ä¿ width 设置çå
ç´ ä¸ä¼è¢«æªæå¹¶ä¸ä¸ä¼é®æ¡å
¶ä»å
容ã
è§è
| è§è |
|---|
| CSS Box Sizing Module Level 4> # sizing-values> |
| åå§å¼ | auto |
|---|---|
| éç¨å ç´ | all elements but non-replaced inline elements, table rows, and row groups |
| æ¯å¦æ¯ç»§æ¿å±æ§ | å¦ |
| Percentages | refer to the width of the containing block |
| 计ç®å¼ | a percentage or auto or the absolute length |
| å¨ç»ç±»å | a length, percentage or calc(); |