Heim  >  Artikel  >  Web-Frontend  >  移动端的自适应_html/css_WEB-ITnose

移动端的自适应_html/css_WEB-ITnose

WBOY
WBOYOriginal
2016-06-24 11:47:421072Durchsuche

  最近一个项目做的是微信端,因为之前没接触过一直以为移动端的自适应都是用某个插件,然后里面是分开各种比例的最大多少最少多少,然后里面封装了各种的

值多大等等。

  不过结果却出乎所料的简单。下面将以一个宽为640px的手机分辨率为例,分步解释从一个普通web到移动端的转变(此处只说增/改部分)。

 

第一步:标准设定

  (1)在html标签里面加入字体设定。

html{font: 20px/1.5 微软雅黑, Tahoma, Helvetica, Arial, sans-serif;}

  注意:这里的font设置是20px;即相当于指定了1em为20px。

  (2)在body标签里面加入标准设定。

body{width: 100%;}

  这个的作用是为了让body默认100%占满整个屏幕。

  此外如果还有用到表格之类的需要占满整个屏幕的其他元素,也需要加上width:100%;这一句

 

第二步:值转换

   值的转换分为两种,一种是字体,另一种是定位。

  (1)字体

    字体的转换对应第一步的(1),由font:20px可推算出  22px就是1.1em,24px就是1.2em,以此类推。举例:

.releaseTime{    font-size: 1.1em;  //此处代表字体大小为22px;}

   (2)定位

    定位包括width、height、margin、padding、line-height等等。

    根据上文提到的假设手机是640px,在平时所做的width:30px;的基础上,用30(px)÷640(px)× 100%,所算得的值就是作为新的值。

.example{    width: 46.8%;      //此处代表width: 300px; padding-left: 3.1%;  //此处代表paading-left:20px; }

 

以上为css部分。

 

第三步:js对移动端的兼容

  js的使用,是为了更改头文件里面的,具体代码如下:

var phoneWidth = parseInt(window.screen.width);var phoneScale = phoneWidth/640;var ua = navigator.userAgent;if (/Android (\d+\.\d+)/.test(ua)){    var version = parseFloat(RegExp.$1);    // andriod 2.3    if(version>2.3){        document.write('<meta name="viewport" content="width=640, minimum-scale = '+phoneScale+', maximum-scale = '+phoneScale+', target-densitydpi=device-dpi">');    // andriod 2.3以上    }else{        document.write('<meta name="viewport" content="width=640, target-densitydpi=device-dpi">');    }    // 其他系统} else {    document.write('<meta name="viewport" content="width=640, user-scalable=no, target-densitydpi=device-dpi">');}// <!--移动端版本兼容 end -->

 

 

end

by 豆腐

2015-03-22

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn