4种移动端适配方法


本文摘自PHP中文网,作者Guanhui,侵删。

1.@media screen实现网页布局的自适应

优点 : 无需插件,能够适应各种窗口大小,只需在CSS中添加@media screen属性。

官方文档:@media 可以针对不同的屏幕尺寸设置不同的样式,特别是如果你需要设置设计响应式的页面,@media 是非常有用的。

语法:@media mediatype and|not|only (media feature) { CSS-Code; }

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

/* 屏幕宽度大于 1200px 则 h5 的字体颜色是black */

h5{

    color: black;

  }

@media screen and (max-width: 1200px){

  h5{

    color: #eee;

  }

}

/* h5字体颜色为红色,屏幕宽度只有在869px 与900px之间生效 */

@media screen and (min-width: 869px) and (max-width: 900px){

  h5{

    color: red;

  }

}

/* 屏幕宽度小于 320px 则 h5 的字体大小是20px */

@media only screen and (max-width: 320px){

  h5{

    font-size: 20px;

  }

}

紧接着我开始接触移动端的适配。

2.rem适配

这个方法是CSDN博主「sxs1995」的原创文章,blog.csdn.net/sxs1995/art…

计算单位是 640px = 6.40rem,

当设计稿的宽度是 750px 时, i = 750; 当设计稿的宽度是 640px 时, i = 640 。

缺点 : 首次加载页面时,会闪线1-2s,在手机上预览的用户体验不好

171a6407c9eaa4e0.gif

1

2

3

4

5

6

7

8

9

10

11

12

!function(n){

  var  e=n.document,

  t=e.documentElement,

  i=720,

  d=i/100,

  o="orientationchange"in n?"orientationchange":"resize",

  a=function(){

    var n=t.clientWidth||320;n>720&&(n=720);

    t.style.fontSize=n/d+"px"

 };

  e.addEventListener&&(n.addEventListener(o,a,!1),e.addEventListener("DOMContentLoaded",a,!1))

}(window);

3.用@media实现rem适配

优点:当屏幕宽度更改时,只需修改Html元素中的 font-size 即可适配

1

2

3

4

5

6

7

/* 不同屏幕宽度,设置不同的font-size */

@media screen and (width:750px){html{font-size:100px}}

@media screen and (width:749px){html{font-size:99.87px}}

@media screen and (width:748px){html{font-size:99.73px}}

...

@media screen and (width:321px){html{font-size:42.8px}}

@media screen and (width:320px){html{font-size:42.67px}}

4.用vw定制rem自适应布局

在掘金上看到作者JowayYoung的灵活运用CSS开发技巧的文章,其中一点是:使用vw定制rem自适应布局

优点 : 移动端使用rem布局需要通过JS设置不同屏幕宽高比的font-size,结合vw单位和calc()可脱离JS的控制

1

2

3

4

/* 基于UI width=750px DPR=2的页面 */

html {

  font-size: calc(100vw / 7.5);

}

目前,以上的方法我都用过,站在代码量上考虑,我现在主要用的是用vw定制rem自适应布局,大家有其他更好的建议吗?我会认真参考的,谢谢。

推荐教程:《CSS教程》

以上就是4种移动端适配方法的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

css怎么对文字分栏

css怎么设置黑体

css如何实现客服悬浮效果

css word-spacing属性怎么用?

js怎么设置css实现隐藏

css自动换行怎么设置

css中一个冒号和两个冒号分别代表什么?

css中定位的简单介绍(代码示例)

css不生效是什么原因

css六边形怎么画

更多相关阅读请进入《css》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...