这谁药偶来回答啊…… = =|||
简单扯扯点其他貌似没扯到的
对 块级非替换元素在普通流内布局有公式描述
以及对这公式的 5 条 if
跟这问题直接相关的是2个。先说第一个
整个容器充满包含块呗。也就没水平居中啥事儿了。
然后呢,说水平居中的事儿。
其实根据最初的公式很好理解,
元素的包含块宽度是最初能定下来。
(你想啊,根 HTML 的包含块不就是视口么,浏览起内窗口宽度啊,总能知道吧。然后根据这个初始包含块宽度往下算)
所以,就有一系列确定值。
确定标黑,不确定为(x),来说明 width,没b没p的情况(简化下么)
(如果 其他 bl、br、pl、pr 有值就带公式里,一样的)
排布下,正好容器在包含块中间位置。
这就是最后内个 if 要说的内容。
这个主要是规范里没给这方面规定……
并与其他初始设定冲突。
width 相关计算依赖于其包含块,这玩意是最初能确定值。
而 height 相关计算依赖于其自身内容高度,自身内容高度是不能最初确定值的。
所以无法建立类似上面的公式来使用 mt、mb auto 实现高度居中。
且,mt、mb 的百分比值参照还是依赖包含块实际宽度的。
同理,因为包含块高度未知,没办法以确定值来计算 mt、mb。
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。