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

WBOY
Release: 2016-06-24 11:47:42
Original
1072 people have browsed it

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

值多大等等。

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

 

第一步:标准设定

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

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

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

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

body{width: 100%;}
Copy after login

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

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

第二步:值转换

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

  (1)字体

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

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

  (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; }
Copy after login

以上为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 -->
Copy after login

 

 

end

by 豆腐

2015-03-22

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!