我是一个CSS新手,并且想知道当我的CSS的跨浏览器兼容性时,使用em而不是px是否有好处。
答案 0 :(得分:9)
严格地说,使用em而不是px实际上并不是跨浏览器兼容性问题 - 所有浏览器都支持将它们用于字体大小。
过去建议避免使用px进行字体大小调整,因为具有最大市场份额的浏览器IE6不允许文本大小调整。它将px视为绝对值,而不是像em那样的相对值,因此不会在px中向上或向下缩放文本。
根据您的受众,您可能不需要担心它。关于em的好处以及它们如何帮助建立流畅的布局有一些很好的信息:http://www.alistapart.com/articles/fluidgrids/
答案 1 :(得分:6)
是。一些浏览器(c IE8 -cough)仍然无法正确缩放文本(以像素为单位)。它们变焦很好,但更改文本大小没有结果。
Ems或多或少保证在用户请求时进行扩展。此外,ems可用于导航按钮或框,以适应必须与文本很好地扩展的文本 - 它不仅仅是字体大小。在一堆浏览器中尝试不同的变体,放大并放大文本,看看你得到了什么结果。
答案 2 :(得分:4)
我相信我在第一次开始网络工作时学到的一些指导方针已经被淘汰了,而对于通过px调整字体大小的建议就是其中之一。原因很简单 - 所有现代浏览器现在都以图形方式非常干净地缩放整个页面,因此文本大小调整作为浏览器的一项功能是没有实际意义的。
文本放大问题仅存在于IE6(您可以缩放IE8)。 IE6目前在全球的份额不到10%。那些“视力不好”的人占美国人口的2%左右。这意味着尝试处理IE6会使美国0.2%的用户受益。如果有一个浏览器有0.2%的份额,我们都会忽略它。
忽略“可缩放”字体大小以支持px的好处非常高,因为它更容易实现和理解。一方面,它不太可能受到级联奥秘的影响。在必须精确控制高度的情况下,例如在菜单栏中,它尤其有用。
我最近才开始从我正在构建的网站中删除em和%,以支持px,所以可能会有一些我没有遇到过的问题。到目前为止,我发现结果令人鼓舞。
因此,我推荐px,不仅适用于初学者,也适用于一般情况。
答案 3 :(得分:1)
EM可以在一些较旧的浏览器(包括IE 6)中调整大小,而PX则不会。但坦率地说,具有无障碍功能需要能够调整字体大小的人正在使用更现代的浏览器。
对于使用PX的CSS新手棒。 EM可能是一种痛苦,因为它们是流动的,你可能会产生一些奇怪的效果而不确定原因。
有关PX-EM - % - http://css-tricks.com/2580-css-font-size/
的更多信息,请阅读此内容希望这有帮助。