2010-07-12 143 views
86

有没有CSS或其他原因为什么Safari/iPhone会忽略一些字体大小设置?在我的特定网站上,iPhone上的Safari呈现一些font-size:13px文字,大于font-size:15px文字。它可能不支持某些元素的字体大小?某些字体大小在Safari(iPhone)上呈现较大

回答

196

Joe的回复中有一些很好的最佳实践,但我认为你所描述的问题主要集中在Mobile Safari自动缩放文本,如果它认为文本渲染太小。你可以通过CSS属性-webkit-text-size-adjust解决这个问题。这里有一个如何将其应用到你的身体样本,只是为iPhone:

@media screen and (max-device-width: 480px){ 
    body{ 
    -webkit-text-size-adjust: none; 
    } 
} 
+1

刚刚遇到这个问题。这个小小的媒体屏幕破解工作完美无瑕。我将开始将它合并到我的CSS入门文件中。 – Throttlehead 2013-01-30 16:32:11

+0

哇,生病了!一直让我发疯,我甚至在我发现这个之前尝试改变类名并在jQuery中设置内联。救命稻草! – 2013-08-21 16:01:30

+0

你无法想象这对我有多大帮助。 – Mia 2013-11-03 16:37:06

7

我不再使用像素定义,因为它们确实令人困惑,并且在视觉服务中不完全相同。

拜见单位

  1. “EMS”(EM):“环监”是在网络媒体文件使用一个可扩展单元。 em等于当前字体大小,例如,如果文档的字体大小是12pt,则1em等于12pt。 Ems具有可扩展性,因此2em等于24pt,.5em等于6pt等。由于可扩展性和移动设备友好性,Ems在Web文档中越来越流行。
  2. 像素(像素):像素是用于屏幕媒体(即在计算机屏幕上读取)的固定尺寸单位。一个像素等于计算机屏幕上的一个点(屏幕分辨率的最小分数)。许多网页设计师在网页文档中使用像素单位,以便在浏览器中呈现网站时产生像素完美的网站表示。像素单元存在的一个问题是,对于视觉受损的阅读器,它不会向上扩展,或者向下扩展以适应移动设备。
  3. 积分(pt):积分常用于印刷媒体(任何要印在纸上的东西等)。一点等于1/72英寸。点与像素非常相似,因为它们是固定大小的单位,无法缩放。
  4. 百分比(%):百分比单位与“em”单位非常相似,除了一些基本的差异。首先,当前字体大小等于100%(即12pt = 100%)。在使用百分比单位时,您的文字对于移动设备和辅助功能仍可完全扩展。
+4

答案,就是用1个规定单位为文本(即12pt),然后为所有后续的CSS定义使用font-size:90%;或字体大小:110%;等等。这对于所有支持的设备都更容易访问。 – 2010-07-12 05:14:25

+0

你忘了最重要的:REM(参考EM)。您可以在整个文档中使用它并保持不变(不是级联)。 – 2014-11-30 11:46:23

+2

这个答案不相关,也不以任何方式回答问题。问题是关于相同大小的文本渲染不同,而不是使用什么单位。问题真的停留在那里,无论使用什么单位。 – 2016-03-17 15:08:55

0

我有同样的问题,结果发现在原来的CSS有这行:

-webkit-文本的大小调整:120%;我不得不把它改成100%,一切都很顺利无需将所有px更改为em或%%。

+0

设计师应该使用em来表示字体大小。 – 2013-02-07 13:48:20

+1

...除了在身体标记CSS的px大小是最好的。 – 2013-05-21 09:47:01

10

此外,还要确保你在你的视初始变焦设置设置为1元标签:

<meta name="viewport" content="width=device-width; initial-scale=1.0;" />