在IE6中,显示:具有彩色背景颜色的块将该颜色扩展到页面的最右侧。更改为显示:内联修复了该问题,但颜色现在在我的最后一个字符后立即结束,尽管我已指定padding-right:1em 在CSS中。 padding-left正在工作,但不是padding-right。任何解决方法?我一直在谷歌搜索几个小时,找不到答案。
答案 0 :(得分:2)
我希望display:block
和display:inline
也能在其他浏览器中以这种方式工作,而不仅仅是IE6,因为这就是他们的工作方式。块元素占据整个宽度(除非你自己指定宽度,在这种情况下它将是宽度)并且之后有一个换行符,而内联只占用它需要的宽度(即使你给它一个不同的宽度,它不会使用它)并且没有新线。这就是为什么当它是一个块元素时,背景颜色会扩展到页面的最右边。
填充应该在内联元素上正常工作,因此您可能有另一个元素或样式冲突并导致问题。没有看到代码示例,就无法分辨。
您可以尝试使用display:inline-block
将元素保持为内联(这样它不会占用整行并有换行符)但它将表现为关于填充,边距和元素的块元素宽度。
请注意,IE6(和7)仅允许display:inline-block
元素作为默认的内联元素(span
等)
如果不这样做,您需要提供一个代码示例来重现问题,以便我们可以看到是否有其他影响。
答案 1 :(得分:1)
尝试设置要显示的元素:inline-block。这有时会有所帮助。
另外......在上下文中查看代码可以更容易地看到正在发生的事情。
答案 2 :(得分:0)
最好的解决方案是忽略IE 6.仍然使用IE 6的人习惯于获取糟糕的网页显示,他们大多使用IE 6,因为他们的网络管理员认为让每个人都使用它更安全。
至于第二种选择解决方案:在文本后填写一个硬空格(
)。