移动webapp前端开发小结

公司内部有一款企业社交产品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

移动webapp前端开发小结

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: