神奇的max-height/width、min-height/width、height/width优先级

max-height/width和height/width优先级

max-height/width这个属性会限制height/width属性的值设置比max-height/width更大

max-height/width属性用来设置给定元素的最大高度. 如果height/width属性设置的高度比该属性设置的高度还大,则height/width属性会失效.max-height/width 重载(覆盖掉)height/width

min-height/width和height/width优先级

min-height/width这个属性会限制height/width属性的值设置比min-height/width更小

min-height/width属性用来设置给定元素的最小高度. 如果height/width属性设置的高度比该属性设置的高度还小,则height/width属性会失效.min-height/width 重载(覆盖掉)height/width

min-height/width和max-height/width优先级

min-height/width属性设置的高度比max-height/width还大,则max-height/width属性会失效,min-height/width 重载(覆盖掉)max-height/width

参考:MDN

总结

max-height/width < height/width  => max-height/width 重载 height/width

min-height/width > height/width => min-height/width 重载 height/width

min-height/width > max-height/width => min-height/width 重载 max-height/width

【补充2019-10-26】:

对于第一二点总结,哪怕width/height设置了!important,结果也不会变化,仍然会被覆盖

width/height初始值:auto

min-*初始值:auto

max-*初始值:none

有很多说min-*初始值是0的,但实际上经过验证并不是0

  • min-*值为auto通过js获取属性值可以取到,即min-*值为auto合法

  • 数值变化无动画,如果是min-*默认值为0,使用过度效果时应该有动画,但实际并没有

原文地址:https://www.cnblogs.com/kunmomo/p/10600286.html