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

摘要:
现在HTML5前端不仅局限于PC,还可以实现移动终端、微信等,传统的布局单元px无法实现自适应校,那么移动终端布局的方式有哪些?媒体查询+rem单元布局。说到这种布局,我们必须首先了解什么是媒体查询和rem?Rem是相对于根元素的字体大小单位。

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

媒体查询 + rem单位布局

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

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

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

  1.  
    @media all and (条件){
  2.  
     
  3.  
         css的语法
  4.  
     
  5.  
    }

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

  1.  
    @media all and (min-width:500px){
  2.  
     
  3.  
         body{
  4.  
     
  5.  
             background:red;
  6.  
     
  7.  
         }
  8.  
     
  9.  
    }
  10.  
     
  11.  
    @media all and (min-width:700px){
  12.  
     
  13.  
         body{
  14.  
     
  15.  
             background:green;
  16.  
     
  17.  
         }
  18.  
     
  19.  
    }
  20.  
     
  21.  
    @media all and (min-width:900px){
  22.  
     
  23.  
         body{
  24.  
     
  25.  
             background:black;
  26.  
     
  27.  
         }
  28.  
     
  29.  
    }

上面的代码表示:

(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;

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

  1.  
    @media all and (min-width:320px){
  2.  
     
  3.  
         html{
  4.  
     
  5.  
             font-size:12px;
  6.  
     
  7.  
         }
  8.  
     
  9.  
    }
  10.  
     
  11.  
    @media all and (min-width:375px){
  12.  
     
  13.  
         body{
  14.  
     
  15.  
             font-size:14px;
  16.  
     
  17.  
         }
  18.  
     
  19.  
    }
  20.  
     
  21.  
    @media all and (min-width:414px){
  22.  
     
  23.  
         body{
  24.  
     
  25.  
               font-size:16px;
  26.  
     
  27.  
         }
  28.  
     
  29.  
    }
  30.  
     
  31.  
    div{
  32.  
     
  33.  
       10rem;
  34.  
     
  35.  
       height:10rem;
  36.  
    }

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

(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,来根据不同的设备去相应的改变元素的大小

免责声明:文章转载自《69、移动端布局-媒体查询 + rem单位布局》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Spring MVC与JAXRS比较与分析兼容各浏览器的iframe方法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

循环求余法

(x^a)当a较大时容易溢出,代码中通常对(10^9+7)取余 为了防止溢出采用循环求余法,求余操作符号为 (odot) 循环求余证明 [x^{a} odot p=left[left(x^{a-1} odot p ight)(x odot p) ight] odot p=left[left(x^{a-1} odot p ight) x ight] odo...

13种常用按钮、文本框、表单等CSS样式

一、按钮样式.buttoncss {    font-family: "tahoma", "宋体"; /*www.52css.com*/    font-size:9pt; color: #003399;    border: 1px #003399 solid;    color:#006699;    border-bottom: #93bee2 1...

span标签间距

最近在做的一个项目里面碰到这么一个问题: <p> <span>块1</span> <span>块2</span> </p>    在“块1”和“块2”之间存在着一个大概3em的空白...图就不上了这明显不符合预期.... 最后发现:当这两个span写在一行...问题就解决了... &...

移动端兼容性问题解决方案

1. IOS移动端click事件300ms的延迟响应 移动设备上的web网页是有300ms延迟的,往往会造成按钮点击延迟甚至是点击失效。这是由于区分单击事件和双击屏幕缩放的历史原因造成的, 2007年苹果发布首款iphone上IOS系统搭载的safari为了将适用于PC端上大屏幕的网页能比较好的展示在手机端上,使用了双击缩放(double tap to z...

CSS3 的视口单位vw、vh实现自适应(带有px,em,rem的简单介绍)

一、px,em,rem,vw的简单介绍1、pxpx其实就是像素的意思,全称pixel,也就是图像的基本采样单位。对于不同的设备,它的图像基本单位是不同的,比如显示器和打印机。而我们通常所说的显示器分辨率是指桌面设定的分辨率,不是显示器的物理分辨率,但是现在我们的桌面分辨率和物理分辨率几乎是一致的,因为这样显示效果最佳。所以总的来说px就是对应我们显示器的分...

移动端网页点击延迟及事件穿透

一、click事件的300毫秒延迟是怎么产生的? 苹果在2007年发布iphone前夕遇到一个问题,当时相应的网页都是针对大屏编写的,如果直接在iphone上浏览则会出现横向的滚动条,于是他们制定了一些规则来缩放网页,通过双击可以还原网页大小,这种方法后来被其它移动浏览器厂商所采用。300毫秒延迟产生的原因就在于当用户一次点击屏幕之后,浏览器并不能立刻判断...