我正在测试我的网站,它在每个浏览器上都正常工作,除了iPhone浏览器(我想它是移动版的Safari?)会用比其他字体更大的字体呈现一段文本。我已经手动检查了CSS,并使用页面上的Firebug进行了确认,我可以确认我已经将所有字体设置为相同的大小。如何解决这个问题?
我正在测试我的网站,它在每个浏览器上都正常工作,除了iPhone浏览器(我想它是移动版的Safari?)会用比其他字体更大的字体呈现一段文本。我已经手动检查了CSS,并使用页面上的Firebug进行了确认,我可以确认我已经将所有字体设置为相同的大小。如何解决这个问题?
稍微改进Lukasz的想法,尝试在CSS中使用以下规则:
body {
-webkit-text-size-adjust: 100%;
}
使用值为“100%”而不是“none”,允许所有其他基于Webkit的浏览器在使用缩放功能时仍然调整文本大小,同时保留您的原始字体大小。
这个问题只会出现在像Safari、Opera和iPhone设备等现代浏览器中。 解决方法是:
将-webkit-text-size-adjust: 100%;或-webkit-text-size-adjust:none样式与所需的类一起附加即可正常工作。 示例: 当请求来自移动设备时,我希望只应用该条件。因此,我已附加了完整的导航路径,以满足我的要求。
.mobile-phone .authenticated-page.authenticated.mobile-community.mobile-document .notification .notification-dialog.content-frame
{
-webkit-text-size-adjust: none;
}
或者.mobile-phone .authenticated-page.authenticated.mobile-community.mobile-document .notification .notification-dialog.content-frame {
-webkit-text-size-adjust: 100%;
两种方法都可以。不需要为整个body应用样式。
!important
规则,即使手动设置了元视口到固定和受限比例,我真的以为自己快要疯了。 - wafflMobile Safari会尝试自适应内容使其在屏幕上易于阅读,默认情况下它具有不同于其他浏览器的默认样式。
我不知道确切的规则,但是对于字体大小,它似乎按照以下方式工作:
段落、列表项或其他“文本”元素内的文本:应用作者的样式而不进行调整。
DIV或其他非特定元素内的文本:视为“纯文本”,并根据Mobile Safari的规则进行“调整”。
因此,简短的答案是,将文本放入段落中,并将字体大小规则应用于其中。
这里是一个简单的例子:
<!-- Recommended: Put this in an external stylesheet -->
<style type="text/css">
p { font-size:10px; }
</style>
<div class="appro_body">
<p>SAN BENEDETTO - Si è ufficialmente aperta la campagna elettorale per le
comunali di San Benedetto del Tronto 2011. Le elezioni regionali, oramai
dietro le spalle, sembra siano servite più che per organizzare il
territorio in crisi, per muovere le pedine in vista delle elezioni a
Sindaco.
...
<a href="http://www.ilsegnale.it/it/news/approfondimento/1602/?tpl=502">Leggi tutto...</a>
</p>
</div>
(显然,你应该将font-size
规则移动到CSS文件中。)
font-size:100%
,然后使用“em”方法为您网站中的每个元素设置字体大小。这将使字体大小成为浏览器默认字体大小的百分之百。例如,iPhone Safari浏览器的12px = 1em(当然,您需要在本地检查默认字体大小)。然后,如果您想要10px的字体大小,只需将其除以12,即“0.83em”。希望您能理解,还可以搜索“css em单位”,以获得更好的了解。