HTML5技术

移动端布局 - 开发之路

字号+ 作者:H5之家 来源:H5之家 2017-05-24 09:01 我要评论( )

1.滚动条默认是在html上的,移到body上 html { width : 100% ; height : 100% ; overflow : hidden ;} body { width : 100% ; height : 100% ; overflow : auto ;} 2.高清屏1px边框还原 pixelRatio = 1 / window.devicePixelRatio; // 通过js动态设置视口的

1.滚动条默认是在html上的,移到body上

html{ width: 100%; height: 100%; overflow: hidden; } body{ width: 100%; height: 100%; overflow: auto; }

2.高清屏1px边框还原

pixelRatio = 1 / window.devicePixelRatio; //通过js动态设置视口的缩放比 document.write('<meta content="width=device-width,initial-scale = '+pixelRatio
+ ',minimum-scale =' +pixelRatio+',maximum-scale='+pixelRatio+'" />');

3.使用单位

px绝对单位,任何情况下都是固定值,在不同尺寸的屏幕下会错位。

% 相对单位,相对于父级(自身)的大小进行计算。对于不太好确定值的地方(如高度)不好使用百分比,会导致变形。

em相对单位,相对于当前字体大小的倍数。如果容器字体大小不一样,一一修改很麻烦。

rem 相对单位,只相对于html(root元素)的字体大小,移动端浏览器都兼容,这种布局比较通用。

var html = document.getElementsByTagName('html')[0]; pageWidth = html.getBoundingClientRect().width; // 屏幕宽度 / 平分块数 = 基准值 html.style.fontSize = pageWidth / 16 + "px"; //然后计算容器的rem数值,这样不同的屏幕,容器布局结构不会变。(即将整个屏幕均等分,再计算容器的占比。) //开发css时,使用less定义@rem变量,不用每次都用计算器计算。

4.使用背景图或者img,要针对不同的屏幕调整对应的大小:

  如果图片大小和容器大小一致,可以使用width:100%。

  如果图片和容器大小不一样,那么需针对图片分别设置宽/高,背景图设置background-size(x baseRem,y baseRem)。

  在物理像素和css像素不是1:1时,retina屏相当于放大,会添加中间色的像素,导致模糊。想要图片不模糊失真,需要针对retina屏的图片重新制作一张像素总数更多的图片。

 

5.文字要测量行高,再算padding(rem)

6.文字前插入小图标:

  搜索框:div.search_box:before(图标)+form input(padding-left)

      a标签:a的background(图标)+text-indent(文字)

7.<link/>的media属性只是规定了只有复合条件的媒体样式表才会生效,但不符合条件的样式表依然会被下载到客户端。

8.移动端fixed定位的元素中有input时,触发键盘后会导致固定定位错位,可以使用绝对定位或者跳转到别的页面避免。

  绝对定位会卡顿,需要用js解决,固定定位有兼容性问题

9.常用样式调整

a{ -webkit-tap-highlight-color:transparent; text-decoration:none; } input{ -webkit-apperance:none; }

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • kotlin, 一种新的android平台一级开发语言 - 陈宏鸿

    kotlin, 一种新的android平台一级开发语言 - 陈宏鸿

    2017-05-20 18:01

  • 移动端h5开发相关内容总结css篇--自己总结 - daV_chen

    移动端h5开发相关内容总结css篇--自己总结 - daV_chen

    2017-05-16 12:00

  • vue2.0实践 —— Node + vue 实现移动官网 - Raychan

    vue2.0实践 —— Node + vue 实现移动官网 - Raychan

    2017-05-15 09:00

  • vue.js应用开发笔记 - 西安-晁州

    vue.js应用开发笔记 - 西安-晁州

    2017-05-15 08:00

网友点评