在使用css 3d转换后,如何修复Safari 5 Mac OS X中的脆文本?
我遇到了一个问题,在应用了css 3d转换的元素之后,在相对和绝对位置的元素上触发了奇怪的行为 要解决这个问题,我必须设置背景色,但如果我需要透明度怎么办在使用css 3d转换后,如何修复Safari 5 Mac OS X中的脆文本?,css,safari,Css,Safari,我遇到了一个问题,在应用了css 3d转换的元素之后,在相对和绝对位置的元素上触发了奇怪的行为 要解决这个问题,我必须设置背景色,但如果我需要透明度怎么办 下面是重现该错误的最低要求:您必须仔细研究,找出要让safari在转换中关闭无别名模式的切换开关。在这种情况下,如果去掉webkit透视图或将其设置为0px,则文本将呈现为不清晰。如果你想做3D转换,并且实际使用三维并且需要它,你只需要webkit透视图 这确实是一个奇怪的错误 我的第一次尝试涉及指定透明背景色: .crispy { po
下面是重现该错误的最低要求:您必须仔细研究,找出要让safari在转换中关闭无别名模式的切换开关。在这种情况下,如果去掉webkit透视图或将其设置为0px,则文本将呈现为不清晰。如果你想做3D转换,并且实际使用三维并且需要它,你只需要webkit透视图 这确实是一个奇怪的错误 我的第一次尝试涉及指定透明背景色:
.crispy {
position: relative;
font-size:.9em;
background: rgba(255,255,255,0);
}
然而,这不起作用。事实上,如果你使用alpha值(零),它的范围似乎从脆(0)到正常(1)
包装内部div并指定positionstatic也不起作用
我找到的唯一解决方案是:
.crispy {
position: relative;
font-size:.9em;
-webkit-font-smoothing: antialiased;
}
但是,这会使所有文本稍微模糊一些,因为它没有使用LCD监视器上可用的亚像素抗锯齿。这可能是(也可能不是)一个可接受的解决方法。我在Safari 5.1中仍遇到此错误。我的工作是自己设置字体平滑。亚像素抗锯齿应该是默认值,但显然不是。如果我将以下内容添加到具有断开字体渲染的元素中,则一切看起来都很好:
-webkit-font-smoothing: subpixel-antialiased;
这很奇怪,因为某些原因,它正在删除文本上的抗锯齿。这看起来确实像Safari中的一个bug,我建议提交一个bug报告。@Andrew Marshall,我已经向Safari提交了bug报告,但我仍然希望找到解决方法。他们在最新版本中修复了这个bug!实际上,我需要3D转换,但在本例中,我将其缩小为仅
-webkit透视图
声明。在real网站上,我在这个分区内翻牌。我将你们的答案标记为可以接受,但这仍然是一个折衷方案。因此,如果可能,最好的解决方法是设置背景色
,否则设置-webkit字体平滑:抗锯齿代码>如果需要透明度。字体平滑对我来说相当好…这是一个非常棘手的问题,我对这个修复很满意。我认为它已经修复了(我的问题中的JSFIDLE示例呈现得很好)。您能用最少的元素复制它吗?不幸的是,JSFIDLE有它自己的问题,但这里有一个例子:。请注意,最好的解决方案是使用-webkit字体平滑
和背景色
。按住ctrl键并滚动缩放以查看细微差异。这一问题在浅色字体中非常明显。因此,似乎-webkit字体平滑:亚像素抗锯齿
在应用CSS3dtTransform的元素之后的相对位置的元素上仍然无法正常工作。他们所做的修复是自动应用-webkit字体平滑:抗锯齿代码>对于这样的元素,它去除了清晰性,但文本呈现得太薄。