HTML5移动Web开发(八)——避免文本字体大小重置

适用设备:iOS、Windows Mobile
在一些移动设备上,比方说iPhone,Windows Mobile,当用户把手机切换到横屏时,浏览器会自动地重置文本字体大小。这可能会对我们造成困扰,因为我们希望能够完全掌控用户界面的设计和浏览器对页面的渲染结果。

新建ch02r02.html

<!doctype html>
<html>
  <head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  <script src="modernizr-1.7.min.js"></script>
    <style>
        figure, figcaption, header {
            display:block;
            margin:0 auto;
            text-align:center;
        }
    </style>
  </head>
  <body>
    <header>
      HTML5 Logo
    </header>
        <figure>
            <img src="img/HTML5_Badge_128.png" />
            <figcaption>
                It stands strong and true, resilient and universal as the markup you write.
                It shines as bright and as bold as the forward-thinking, dedicated web developers you are.
                It‘s the standard‘s standard, a pennant for progress.
                And it certainly doesn‘t use tables for layout.
            </figcaption>
        </figure>
    <footer>
    </footer>
  </body>
</html>

在iPhone的竖屏渲染该文件时,一切正常。切换到到横屏时,该页面的字体大小会突然的放大,显而易见,该页面的字体大小被重置了,这并不是我们期望的结果。如效果图:

解决:
在页面的CSS部分加入:

html {
-webkit-text-size-adjust: none;
}

作用就是告诉WebKit引擎在渲染该页面时不要自动调整文本字体大小。这样再切换到横屏时,字体大小就不会重置了。

但是如果在PC桌面访问,或者通过其他的非移动设备的浏览器访问,该你设置会导致页面的缩放功能会被禁用。为了防止这种易用性的问题,可以把text-size-adjust的值变为100%,所以上面的例子改进为:

html { 
-webkit-text-size-adjust: 100%;
}

除了iPhone之外,其他的移动设备同样也有方法设置“text-size-adjust”属性。
Windows Mobile
Windows Mobile IE中“text-size-adjust”属性使用了不同前缀名,他们原本也打算使用webkit作为该属性的前缀,因为这样可以和其他浏览器保持一致,从而降低Web开发人员的工作难度,开发人员不需要再去考虑在页面应该添加哪一些特殊前缀的“text-size-adjust”属性来控制文本字体大小缩放的问题。更有趣的是,微软认为,对于这样属性,最常用的情况应该是显示的设置为none,不要重置文本字体大小。

微软认为最好的方式是只实现以ms为前缀的版本而不是webkit版本。所以对前面的例子这样改更完整:

html {
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
}

另外,我们可以在例子中添加一行没有前缀的“text-size-adjust”属性,以便更好的应对未来变化:

html {
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
text-size-adjust: 100%;
}

px,em,谁更好?
在Web开发领域,关于应该使用px(像素)还是em(相对长度单位,相对于当前对象内文本的字体尺寸)的争论不绝于耳,但是,这个问题在移动互联网开发领域,争论并没有那么激烈,Yahoo!的用户接口原本使用的单位是em,他们这么做的原因是IE6不支持px级别的缩放。但是,这在移动互联网开发领域并不是问题,及时在PC的浏览器上,也不用太过在意这个问题,因为使用IE6 的用户已经越来越少了。因此,在大部分场景下,你都可以使用像素设置字体大小,抛开使用em遇到的各种问题和那些烦人的计算。

时间: 2024-11-13 10:34:22

HTML5移动Web开发(八)——避免文本字体大小重置的相关文章

避免文本字体大小重置

手机IOS 在横屏的时候,会把字体的大小重置,为了避免这一问题存在, 在CSS 文件里 加放以后代码. 同时为了 兼容其它的设备, html { -webkit-text-size-adjust: 100%; -ms-text-size-adjust:100%; text-size-adjust:100%; }

HTML5移动Web开发实战 PDF扫描版?

<HTML5移动Web开发实战>提供了应对这一挑战的解决方案.通过阅读本书,你将了解如何有效地利用最新的HTML5的那些针对移动网站的功能,横跨多个移动平台.全书共分10章,从移动Web.设备端配置和优化,变互.响应式设计.设备访问,调试.性能测试.富媒体等角度出发,包含了60多个实用的示倒,详细阐释如何构建快速.响应式的HTML5移动网站,适用于iOS.Android.WindowsPhone和BlackBerry等众多主流移动应用平台.  <HTML5移动Web开发实战>作者是

浅淡HTML5移动Web开发

说到这个,移动开发面对的屏幕尺寸那叫一个丰富,其中安卓阵营就够让人头痛的.我们在PC端常用的两种布局方式就是固定布局和弹性布局,前者设置一个绝大多数电脑能正常显示的固定宽度居中显示,后者则采用百分比.关于这两者讨论的文章很多,有兴趣的自己查阅下,我今天要介绍的就是相信你已经听过的”响应式布局”,响应式布局意味着媒体查询,这个在css2就已经出现的东西随着html5.css3的到来又增添了新的生机. 响应式web设计并非新的技术,只不过将已有的开发技巧(弹性布局.弹性图片和媒体查询等)整合在了一起

【html5移动web开发】关于移动端开发

1.Google Analytics分析工具的使用:注册后页面中加入Google Analytics的代码,可以分析出有哪些设备在访问网站或者哪些页面访问量比较大. 2.Modernizr 可以检测浏览器对html5元素的支持性.可以判断是否支持localstorage等等 3.html5元素在旧版本的IE浏览器下显示为块级元素   article,aside,nav,section{ display:block;} 4.PC端采用固定布局与流体布局,而在移动网站中我们始终使用流体布局,它可以使

适合0基础的web开发系列教程-文本格式标签汇总

html标签主要是起结构的作用,布局的效果主要靠css完成,比如颜色.背景.字体大小.对齐等. 不过html标签中也有一些常用的文本格式化标签,能对文本内容进行简单的格式设置. 比如加粗文字.定义斜体.定义小号字.下划线.删除线.上标和下标等. <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>夜鹰教程网</title> </head>

html5移动Web开发实战

1.解决横竖屏字体大小变化 html{ -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; text-size-adjust:100%; } 2.移动viewport 设备宽度.禁止缩放 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"> 3.css3媒体查询

html5移动web开发实战必读书记

原文  http://itindex.net/detail/50689-html5-移动-web 主题 HTML5 一.配置移动开发环境 1.各种仿真器.模拟器的下载安装 http://www.mobilexweb.com/emulators https://github.com/h5bp/mobile-boilerplate/wiki/Mobile-Emulators-&-Simulators 2.html5 DTD <!doctype html> <meta charset=

HTML5移动Web开发(一)——HTML5和移动网站基本概念以及一些模拟器

当前,手机设备发展迅猛.屏幕尺寸各不相同.存储和性能仍有局限性,如何结合HTML5的功能,在多平台上创建高性能.响应式的移动网站,是Web开发者所要面对的首要挑战.HTML5以及移动网站都是很有前景的技术,本身也仍在不断的演进.移动端Safari浏览器是当前最常用的iPhone应用,它使开发人员可以创建高性能的网页应用并提高用户的浏览体验.移动网站的好处在于,你不需要申请开发者账号就可以运营和维护,不需要通过任何应用市场的审核就发布,不需要通过繁琐的审核就可以在任何时候更新.但是它也有许多问题,

《HTML5移动Web开发指南》学习笔记(一)

第一章 移动互联网时代的Web技术 HTML5+CSS3+JavaScript的移动应用将会是未来的趋势. HTML5优势: 1.Canvas绘图: 2.多媒体: 3.本地存储: 4.离线应用: 5.使用地理位置: 6.有移动Web应用框架. 第二章 移动设备HTML5页面布局 HTML5新语义元素: 1.header头部信息 2.footer文末信息 3.nav导航链接 4.aside页面区域(广告,侧边栏) 5.article 文章内容 6.section 文档章节 7.hgroup主副标题