公司内部有一款企业社交产品share,近期打算开发手机版,初期规划是通过webapp的方式嵌入到另一款即时通信native app。之前团队还未接触过手机应用的页面重构工作,这次由我打头炮,搭建这款webapp的基本页面样式框架。
虽然曾经读过几篇关于webapp的经验总结的文章,也了解过HTML5、CSS3的新特性,但是实战起来还需要摸索。下面总结了这次开发的几点经验,分享给大家,若有不当之处欢迎斧正。
一、页面head头部的meta声明
针对移动设备的特性,在head标签内需要添加一些特殊的声明。
Default
12345 | <meta name='HandheldFriendly'content='True'/><meta name='viewport'content='width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;'/><meta name="apple-mobile-web-app-capable"content="yes"/><meta name="apple-mobile-web-app-status-bar-style"content="black"/><meta name="format-detection"content="telephone=no"/> |
1、viewport
viewport即可视区域,对于桌面浏览器而言,viewport指的就是除去所有工具栏、状态栏、滚动条等等之后用于看网页的区域
width: viewport 的宽度 (范围从 200 到 10,000 ,默认为 980 像素 )
height: viewport 的高度 (范围从 223 到 10,000 )
initial-scale: 初始的缩放比例 (范围从>0到 10 )
minimum-scale: 允许用户缩放到的最小比例
maximum-scale: 允许用户缩放到的最大比例
user-scalable: 用户是否可以手动缩放
通常不使用 height 属性, 如果要将元素放置在屏幕底部或依赖于视区高度的位置,才可能使用该属性。虽然viewport meta 标记现在很常见,但在过去,某些浏览器使用其他 meta 标记(如 HandheldFriendly 和 MobileOptimized)来实现相同的目的。
所以为了使position:fixed代码在android2.3 、2.2系统的浏览器中有效,增加了如下代码:
Default
1 | <meta name="HandheldFriendly"content="true"/> |
2、apple-mobile-web-app-capable
这meta的作用就是删除默认的苹果工具栏和菜单栏。content有两个值”yes”和”no”,当我们需要显示工具栏和菜单栏时,这个行meta就不用加了,默认就是显示。
想达到全屏显示的效果必须先通过Safari将网页添加到主屏,再通过主屏的图标打开网站,直接在Safari输入URL是不行的。
关于主屏图标、启动画片的设置,可参考: http://www.iinterest.net/2011/01/03/mobile-webapp-base/
3、apple-mobile-web-app-status-bar-style
作用是控制状态栏显示样式,三种方式:
Default
123 | <meta name=”apple-mobile-web-app-status-bar-style”content=”default”/><meta name=”apple-mobile-web-app-status-bar-style”content=”black”/><meta name=”apple-mobile-web-app-status-bar-style”content=”black-translucent”/> |
meta标签表示的是当启动webapp功能时,显示手机信号、时间、电池的顶部导航栏的颜色。默认值为default(白色),可以定为black(黑色)和black-translucent(灰色半透明)。这个主要是根据实际的页面设计的主体色为搭配来进行设置。样式设置:status-bar-style:black或status-bar-style:black-translucent
- 我的微信
- 这是我的微信扫一扫
-
- 我的微信公众号
- 我的微信公众号扫一扫
-