【发布时间】:2014-07-18 01:54:07
【问题描述】:
我有一个包含多个内联块子级的 div:
DOM 看起来像这样:
它具有以下 CSS:
每个孩子都有以下 css:
如果在 Chrome 调试器中取消选中并重新选中上面标记的 display: block 行,则 div 现在看起来像这样:
请注意,标签之间现在有空格,它们更具可读性。但是,用于渲染它的 CSS 大概是相同的。而且,当未选中特定选择器的display: block时,div实际上仍然是display: block;它只是从一个不太具体的选择器(在我的例子中,div 的 UA 样式表)中获得它。
我希望 div 以第二种方式呈现 - 有没有办法做到这一点? div应该如何渲染,display: inline-block元素之间的间距从何而来?
更新:这可能是由 Chrome 的渲染器和 Meteor 的 Blaze 渲染引擎之间的奇怪交互引起的,除了在高度动态的页面上不会看到。
【问题讨论】:
-
@DanielLisik 根据 Chrome 在父节点上的
Edit as HTML,甚至在我戳 CSS 之前就有空格(几个空格和一个换行符)。那么这可能是一个渲染错误吗? -
很可能就是这种性质的东西。我不知道这是否会有所帮助,但是当您取消选中
display:block时,父级会得到什么display值? -
它仍然是
display: block,来自 UA 样式表。谜团加深…… -
天啊!呵呵。您能否检查开关上的 HTML(单击 编辑为 HTML)并密切关注开关上该部分中发生的情况?
-
似乎可以删除子
<div>元素之间的所有空格,并手动插入&nbsp;实体。那么这两种渲染方式就没有差异了。
标签: html css twitter-bootstrap meteor twitter-bootstrap-3