CSS中height:100%和height:inherit的异同
这篇讲的是CSS中`height:100%`与`height:inherit`看似简单却容易被忽略的差异。作者从日常编码中的一个小吐槽切入,对比了两者的兼容性与核心行为。 多数情况下,两者表现一致:父容器定高时继承相同高度,父容器高度为auto时则同为auto。但真正的关键差异出现在子元素为绝对定位,且父容器未设置定位(position为static)的场景。此时,`height:100%`会寻找已定位的祖先元素,导致高度计算异常;而`height:inherit`则忠实地继承父元素的高度,即使父元素没有定位特性。 文章附带的在线演示清晰地展现了这种区别:使用`height:100%`的元素“深入地域”,而使用`height:inherit`的元素则完美自适应父级。这个特性在避免复杂布局中滥用`position: relative`以防止层级混乱时,显得尤为实用。