显示:inline-block;IE 中的属性似乎有填充和边距,无论我尝试做什么,我都无法清除。有没有其他人遇到过这个错误并知道如何修复它?
问问题
151 次
2 回答
2
使用 inline-block 时,请注意您用于格式化标记的空白将被呈现。这可能会被误解为持久填充或边距。
于 2012-10-31T16:26:23.790 回答
2
inline-block
这很可能是因为标记中的元素标签之间至少有一个空格或换行符。
换行符将转换为inline-block
元素之间的单个空格。因此,您看到的额外空间不是填充或边距,而是包含元素文本中的实际空格字符。
有一些解决方法:
Uglify更改您的标记以删除或重新定位换行符:<ul> <li>item</li> <li>item</li> </ul> <!-- becomes --> <ul> <li>item</li><li>item</li> </ul> <!-- or --> <ul> <li>item</li><li> item</li> </ul>
使用
float: left
或float: right
内联显示块元素,而不是inline-block
. 请注意,这将引入其他问题,例如必须确保包含元素是clearfixed。word-spacing: -1em
在包含元素上设置。请注意,如果您的inline-block
元素包含任何文本,并且您不希望此文本具有不规则的字间距,则需要使用word-spacing: normal
内联元素覆盖继承的规则。演示:http: //jsbin.com/ucivel/1/edit
于 2012-10-31T20:02:34.087 回答