css - 为什么显示: inline-block; in IE have padding and margin that I can't clear?

标签 css

显示:内联 block ; IE 中的属性似乎有填充和边距,无论我尝试做什么,我都无法清除。有没有其他人遇到过这个错误并且知道如何修复它?

最佳答案

这很可能是因为您在标记中的 inline-block 元素标签之间至少有一个空格或换行符。

换行符将转换为 inline-block 元素之间的单个空格。因此,您看到的额外空间不是填充或边距,而是包含元素文本中的实际空格字符。

有一些解决方法:

  1. 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>
    
  2. 使用 float: leftfloat: right 以内嵌方式显示您的 block 元素,而不是 inline-block。请注意,这会引入其他问题,例如必须确保包含元素是 clearfixed .

  3. 在包含元素上设置 word-spacing: -1em。请注意,如果您的 inline-block 元素包含任何文本,并且您不希望此文本具有不稳定的字间距,则需要使用 word-spacing 覆盖继承的规则: normal 在内联元素上。演示:http://jsbin.com/ucivel/1/edit

关于css - 为什么显示: inline-block; in IE have padding and margin that I can't clear?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13162388/

相关文章:

javascript - 我怎样才能向右滑动一个div,让它看起来像从div后面滑出来

css - 如何使用css制作双色单边框?

javascript - 如何使用 AngularJS 指令为字符串应用 css 样式?

html - 滚动容器内的右侧固定侧边栏

html - 当另一个属性为 True 时使用 css 更改属性

jquery - 使用 2 个按钮隐藏和显示 2 个重叠的 div,jquery

javascript - 五个圆圈对齐,当我点击圆圈时,我希望数字 5 出现在圆圈内

html - 在左侧添加一张照片,在右侧添加 3 张照片

html - 当浏览器变小时尝试删除表格的第三列(CSS)

javascript - 如何添加自定义 css3 动画以及悬停时的过渡?