正确理解元素min-width和浏览器视口min-width的区别:
浏览器内置的min-width指不可以缩小至低于这个宽度,不可以通过鼠标将视口减少到低于这个宽度,
而元素上面设置的min-width并非是这个意思,一定要理解正确,可以这样理解元素的min-width:
设置div min-width 500px,默认宽度为800px,
当宽度>500px时,随着屏幕宽度减少,内容会自动调整换行适应宽度 变化,div宽度会随着视口变化而变化,
当<500px时,视口的宽度还在继续减少,但div的宽度不再变化,也即里面的内容喝布局不再会自动调整以适应视口的变化。
当不设置width时;
单独设置max-width,会将max-width作为元素宽度值;
单独设置min-width,不会起作用,而是会继承父元素的width作为此元素宽度值;
两者都设置时,最终将两者中将大的值作为元素宽度值,不论是min还是max。
当设置width时(不论是数值还是百分数);
若只设置min,
Width < min时,将min 作为元素宽度值;
Width > min时,min不发挥作用;
若只设置max,
Width > max时,将Max 作为元素宽度值;
Width < max时,max不发挥作用;
若两者都设置,
Min < max时,
width在(min, max)之间时,width作为元素宽度值;
width不在(min,max)之间时,< min时取min, > max时取max;
min > max时,
max不起作用,等同于只设置了min的情况。
综上,任何情况下,都不会显示元素的实际宽度值,若想显示实际宽度值,只能让此元素脱离normal flow,也即将其设置为absolute or fixed。
这个时候不设置width值,而是将实际宽度值作为width值。
对于min/max-height:
当没有设置height值时,是把元素本来的高度值当做height值来使用的。