移动端布局-媒体查询 + rem单位布局

现在HTML5前端不仅仅局限于PC端,HTML5前端还可以实现移动端,实现微信等等,传统的布局单位px,不能是达到自适应的学校过,那么移动端布局有哪些方式呢?

媒体查询 + rem单位布局

说道这个布局,,那么我们首先得了解什么是媒体查询,rem是什么?

媒体查询:媒体查询可以让我们根据设备显示器的特性(如视口宽度、屏幕比例、设备方向:横向或纵向)为其设定CSS样式,

媒体查询由媒体类型一个或多个检测媒体特性的条件表达式组成

@media all and (条件){

     css的语法

}

这句代码会自动的获取到设备的视口宽度,来匹配条件

@media all and (min-width:500px){

     body{

         background:red;

     }

}

@media all and (min-width:700px){

     body{

         background:green;

     }

}

@media all and (min-width:900px){

     body{

         background:black;

     }

}

上面的代码表示:

(1)如果视口的最小宽度是500px的时候,则body的背景颜色为red,

(2)如果视口的最小宽度为700px的时候,则body的背景颜色为green,

(3)如果视口的最小宽度为900px的时候,则body的背景颜色为black,

这就是根据媒体查询去获取视口的宽度,来相应的的改变样式,这就是媒体查询,

那么rem是什么呢?

rem(font size of the root element)是指相对于根元素 (html)的字体大小的单位。

如果一个页面中html{font-size:16px;},那么1rem = 16px,2rem = 32px;

了解到这两个概念之后,那么他们是怎么配合布局移动端呢?接下来看下面的代码。

@media all and (min-width:320px){

     html{

         font-size:12px;

     }

}

@media all and (min-width:375px){

     body{

         font-size:14px;

     }

}

@media all and (min-width:414px){

     body{

           font-size:16px;

     }

}

div{

   width:10rem;

   height:10rem;
}

就以我们最常见的几个手机型号为例,上述代码的表达的是,

(1)当页面处于视口为320px的设备下,html根节点的字体大小为12px,那么div 的宽高为120px*120px;

(2)当页面处于视口为375px的设备下,html根节点的字体大小为14px,那么div的宽高为140px*140px;

(3)当页面处于视口为414px的设备下,html根节点的字体大小为16px,那么div的宽高为160px*160px;

那么为什么要这样使用呢?

在移动端,如果的你设置一个div的宽高都固定为200px的情况下,在414px视口下面,一行你可以放下两个div,那么在小于400px以下的视口设备中你都只能放下一个,这样就会是得布局错乱,好比一个物体在一个超大空间中显得很小,但是在小的空间存放不下,为使得页面布局不管在什么设备上都是正常,协调的情况,就会采用媒体查询 + rem,来根据不同的设备去相应的改变元素的大小。

发布了13 篇原创文章 · 获赞 8 · 访问量 3301

猜你喜欢

转载自blog.csdn.net/weixin_42574100/article/details/82685521