已有的手段:
- CSS inspector 的 computed 部分, 可以看是哪一行 CSS 起作用的
- 还可以逐个看子元素的高度
还是有一些情况, 高度是 auto 的, 子元素高度也逐个看过了, 还是有疑惑,
比如说, 有个奇怪的 1px 的差值, 不知道是从哪儿算出来的... 这种情况下怎样调试呢?
已有的手段:
还是有一些情况, 高度是 auto 的, 子元素高度也逐个看过了, 还是有疑惑,
比如说, 有个奇怪的 1px 的差值, 不知道是从哪儿算出来的... 这种情况下怎样调试呢?
5 回答1.3k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
4 回答2k 阅读
2 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
1 回答1.5k 阅读✓ 已解决
为了尽量不触发tl;dr事件,我从CSS中的四个值来讲起吧1(咦
float: left
将导致计算值为display:block
也发生在这一步em
将转化为px或类似单位(当然,如果font-size中用到了em,则需要到下一步才能算出)对应的值的查看,以Developer Tools截图为例:
我们可以注意到,实际项目中对计算值和使用值的区分并不重要,浏览器一般也未展现出计算值和使用值的区分。
CSSOM中定义了getComputedStyle,这个功能根据MDN2的描述,也返回Used values或Computed values中的一个。
回到题目,这个时候应当先比较SV、UV、AV(都是上面值的简写,请不要想歪),然后看一下height差1像素会是怎样的可能:
display:table-cell
当然,做出判断的前提是你了解高度计算的流程5。