width:auto
包含了4种不同的宽度表现:
1.充分利用可用空间,比如div,p宽度默认100%之于父容器(fill-avaliable)元素拥有流动性,不是看上去宽度100%那么简单,而是一种margin/border/padding/content自动分配水平空间的机制。设置width:100%,流动性消失;当left、right对立方向的属性值同时存在的时候,其宽度就会具有完全的流体特性。
2.收缩到合适,比如浮动、绝对定位、inline-block等,比如开启浮动后块级元素不再独占一行,从fill-avaliable变成了shrink-to-fit。最小宽度是元素最适合的最小宽度。也是当宽度为0时,图片或文字的宽度。具体的表现规则如下:
东亚文字。如中文,最小宽度是每个汉字的宽度。
西方文字。最小宽度是由特定的连续的英文字符单元决定的。一般会止于空格、短横线、问号及其他非英文字符。如果想要英文和中文一样,每个字符作为最小宽度单元,可以使用word-break:break-all。
图片。最小宽度就是该元素内容本身的宽度。
按钮就具有这种自适应性,文字足够多时自动换行
3.收缩到最小,如table-layout为auto的表格中,由内容决定,将宽度收缩到最小值。每一列空间都不够的时候,文字能断就断,但中文是随便断的,英文单词不能断;可以用min-content控制
4.超出容器限制内容很长的连续的英文和数字,或者内联元素被设置了 white-space:nowrap;可以用max-content控制
外部尺寸与内部尺寸:
1.内部尺寸宽度由内部元素决定,外部尺寸宽度由外部元素决定
2.fill-avaliable
3.“鑫三无准则”,即“无宽度,无图片,无浮动”。为何要“无宽度”?原因很简单,表现为“外部尺寸”的块级元素一旦设置了宽度,流动性就丢失了。
包含了4种不同的宽度表现:
1.充分利用可用空间,比如div,p宽度默认100%之于父容器(fill-avaliable)元素拥有流动性,不是看上去宽度100%那么简单,而是一种margin/border/padding/content自动分配水平空间的机制。设置width:100%,流动性消失;当left、right对立方向的属性值同时存在的时候,其宽度就会具有完全的流体特性。
2.收缩到合适,比如浮动、绝对定位、inline-block等,比如开启浮动后块级元素不再独占一行,从fill-avaliable变成了shrink-to-fit。最小宽度是元素最适合的最小宽度。也是当宽度为0时,图片或文字的宽度。具体的表现规则如下:
东亚文字。如中文,最小宽度是每个汉字的宽度。
西方文字。最小宽度是由特定的连续的英文字符单元决定的。一般会止于空格、短横线、问号及其他非英文字符。如果想要英文和中文一样,每个字符作为最小宽度单元,可以使用word-break:break-all。
图片。最小宽度就是该元素内容本身的宽度。
按钮就具有这种自适应性,文字足够多时自动换行
3.收缩到最小,如table-layout为auto的表格中,由内容决定,将宽度收缩到最小值。每一列空间都不够的时候,文字能断就断,但中文是随便断的,英文单词不能断;可以用min-content控制
4.超出容器限制内容很长的连续的英文和数字,或者内联元素被设置了 white-space:nowrap;可以用max-content控制
外部尺寸与内部尺寸:
1.内部尺寸宽度由内部元素决定,外部尺寸宽度由外部元素决定
2.fill-avaliable
3.“鑫三无准则”,即“无宽度,无图片,无浮动”。为何要“无宽度”?原因很简单,表现为“外部尺寸”的块级元素一旦设置了宽度,流动性就丢失了。