我目前正在一个网站上工作,该网站的设计主要“欢迎文字”包含多行(因为它是关于产品的简短介绍)。这有一个透明(0.7)白色的背景(rgba(255,255,255,0.7)
带有多行填充。是的,我说的是多行填充。这意味着,每一行文本都有顶部、底部、左侧和右侧填充、背景颜色以及一个小的线条之间的透明空间。
为了实现这一点,我使用了一个带有水平偏移的 box-shadow 来模拟每行的左右填充。这适用于除 Internet Explorer 之外的所有浏览器。由于我们希望网站可以在所有浏览器上运行,因此我尝试修复此问题一段时间,但我几乎得出结论,这只是 Internet Explorer 问题。
我使用了 Geoff Muskett 他的例子(http://geoffmuskett.com/text-with-background-padding-on-the-end-of-each-line-and-a-gap-between-lines/),它确实有效IE除外。
问题是当我在 IE 中打开页面时,即使我将模糊设置为 0 像素,框阴影似乎也显得有些模糊。(或者只是没有添加它,两者都不起作用)。
甚至 Geoff 他的示例中的代码也不起作用:
HTML
<h2><span>Could you benefit from having Alfi in your home?</span></h2>
CSS
h2 {
line-height: 1.8em;
font-size: 1.7em;
display: inline;
}
h2 span {
padding: 0.2em;
box-shadow: 0.2em 0 0 rgba(255,255,255,0.7), -0.2em 0 0 rgba(255,255,255,0.7);
background-color: #fff;
background-color: rgba(255,255,255,0.7);
}
这里有没有人知道这个问题并且知道是否有一个不是很hacky(不是首选)的解决方案?
IE 11.0.9600.17905
编辑
2015 年 8 月 3 日 09:32
这个周末我一直在调查这个问题,发现一些人的帖子与我目前遇到的问题完全相同。这似乎是 IE 中的渲染错误。请参阅:https ://connect.microsoft.com/IE/feedback/details/810756/ie-11-gap-between-element-background-and-its-box-shadow
同样在另一篇 StackOverflow 帖子中,名为 @nickmorss 的人说使用box-shadow
来完成多行填充文本在 IE11 和 FF34+ 中不起作用。它可以在 FF 中使用box-decoration-break: clone;
,但这在我这边不起作用。
我认为这是我自己无法在 CSS 中修复的,因为这可能只是一个错误。