【发布时间】:2015-07-31 12:58:50
【问题描述】:
我目前正在开发一个网站,该网站的设计主要“欢迎文字”包含多行(因为它是关于产品的简短介绍)。这有一个透明的(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+ 中不起作用。可以使用 box-decoration-break: clone; 在 FF 中修复它,但这在我这边不起作用。
我认为这是我自己无法在 CSS 中修复的问题,因为这可能只是一个错误。
【问题讨论】:
-
IE11 11.0.9600.17905
标签: css internet-explorer box-shadow