HTML5 手机端动态适配

  • CSS控制

    em、rem布局

    这里给出一个自己常用的实例,CSS控制移动端不同机型的适配主要是利用媒体查询来根据屏幕宽度来决定html的基础字体的大小,在body内的块级元素的话就可以用rem或者em单位来对页面进行布局了。其中的不同是rem是基于body的font-size来确定的,而em则是根据其父元素的font-size来决定的,可以说各有利弊,如果是将设计稿转换为Html的话,使用媒体查询+rem比较方便计算出每个的数据,而em可能相对麻烦一下,但是在调节页面的时候,如果使用了em布局,如果只是想页面的某一块的大小进行调整,那么只需要更改其父元素的em大小即可,不用更改其每个子元素。因此使用rem和em都是根据个人的情况和实际项目来决定。

 1 @media screen and (min-width: 320px) {html{font-size:50px;}}
 2 @media screen and (min-width: 360px) {html{font-size:56.25px;}}
 3 @media screen and (min-width: 375px) {html{font-size:58.59375px;}}
 4 @media screen and (min-width: 400px) {html{font-size:62.5px;}}
 5 @media screen and (min-width: 414px) {html{font-size:64.6875px;}}
 6 @media screen and (min-width: 440px) {html{font-size:68.75px;}}
 7 @media screen and (min-width: 480px) {html{font-size:75px;}}
 8 @media screen and (min-width: 520px) {html{font-size:81.25px;}}
 9 @media screen and (min-width: 560px) {html{font-size:87.5px;}}
10 @media screen and (min-width: 600px) {html{font-size:93.75px;}}
11 @media screen and (min-width: 640px) {html{font-size:100px;}}
12 @media screen and (min-width: 680px) {html{font-size:106.25px;}}
13 @media screen and (min-width: 720px) {html{font-size:112.5px;}}
14 @media screen and (min-width: 760px) {html{font-size:118.75px;}}
15 @media screen and (min-width: 800px) {html{font-size:125px;}}
16 @media screen and (min-width: 960px) {html{font-size:150px;}}

 

    百分比布局

    对于不同的屏幕宽度,使用百分比布局也是一种动态适配的好方法,尤其是有事在需要让几个元素充满整行的情况,分别用百分比相对于使用rem或者em来设置其宽度更为方便,省去了计算的麻烦,因此在实际的操作中我常常使用rem和百分比相结合的布局方法。

  • Js控制

    js控制的原理是利用initial-scale属性对屏幕进行缩放,如下面的代码,在切图的过程中,所有的尺寸都是基于750px屏幕宽度下进行布局,所以只需要以实际尺寸与750px的比例来把页面缩放就可以达到动态适配的目的。这个方法虽然看起来很简单,但是因为用了js还需要考虑到浏览器的兼容性问题,可以去参考一下PPK关于viewport的几个看法。

1 (function(){
2         var rate=screen.width/750;
3         console.log(rate);
4         document.write('<meta name="viewport" content="width=device-width,user-scalable=no,initial-scale='+rate+'">');
5     })();

 

转载于:https://www.cnblogs.com/cheerup/p/6179496.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值