移动端自适应

116 阅读2分钟

1.媒体查询

  ## 原理:设置多套不同的css样式,来适应不同的设备,不同的屏幕大小。
  ## 优点:
  1.自动识别视口宽度、高度。
  2.自动识别设备旋转方向。
  3.自动识别分辨率。
  ## 缺点:
  1.设置多套css样式,导致工作量增大。
  2.后期页面改动,不易维护。
  ## 使用:@media mediatype and|not|noly(meadia feautre){
         css-code
  }

2.rem布局

  ## 原理:由于rem不管嵌套多少层都是依据的根元素html标签下的font-size下的大小来决定,所以我们只需要,根据设备屏幕的大小不同,来动态的改变根元素html标签下的fonst-size就可以实现响应式布局。
     优点:能够实现弹性伸缩,实现 响应式布局。
     缺点:
     1.随着屏幕的变大,变小并不能看到更多的东西。
     2.必须通过js来控制根元素font-size的大小。

3.em布局

  ## 原理:原理跟rem是一样的,只是依据不相同,em依据的是父元素的font-size大小,如果父元素没有font-size就一直向上寻找,直到找到符合的父级元素。
  优点:
  1.实现局部区域的响应式布局。
  缺点:
  1.标准点不一,容易造成混乱。

4.百分比布局

## 原理:设置的百分比是相对于父元素宽度的百分比,如果没有父元素则是相对于浏览器窗口的宽度,
        通过将盒子的宽度设置为百分比,从而根据不同的屏幕来进行伸缩,不受像素的限制,内容向   两侧伸缩。
     (子元素的padding,margin不管是什么方向,都是相对于父元素的宽度)
## 优点:在不同的设备中,能够实现响应布局。
## 缺点:计算复杂。

5.vw/vh布局

原理:vh相对于视口的高度,vw相对于视口的宽度,100vh相当于整个视口的高度,100vw相当于整个视口的宽度。类似于理想状态下的百分比布局方式,计算更简单。

物理像素和css像素

## 物理像素指的是设备的像素,只和设备的硬件密度有关
##css像素是我在css中写的px,一个单位。

弹性布局

原理:通过给盒子设置对应的属性来做到横向跟垂直轴方向的伸缩,完成布局