height:100%能生效有两种情况。
第一种是父级有显性高度,即写了具体值。当然从html一直往下都赋予height:100%也是属于这种情况。
第二种就是自身绝对定位,父级相对定位脱离文档流。其实原理和上述是一致的(最近的相对定位元素会被认为是最上级的dom)。
解决这个问题可以尝试给予height: inherit 它和height:100%功能类似。但在解决自身是定位元素时可以有奇效。
另一个就是给予显性高度,当然这一办法几乎没用。能写死高度就不会出现这个问题了。
再一个就是无奈的子绝父相了,给予父级相对行为,自身决定定位。
补充:某些国产浏览器中flex布局中的flex:1 在主轴为横向的时候它的子元素height:100% 会失效。这也不难理解毕竟在控制台父级height显示的并不是显性高度。
