流体布局、响应式布局

2019-05-31 16:29:38 浏览数 (3)

仅供学习,转载请注明出处

PC及移动端页面适配方法

设备屏幕有多种不同的分辨率,页面适配方案有如下几种: 1、全适配:响应式布局 流体布局 2、移动端适配:

  • 流体布局 少量响应式
  • 基于rem的布局

下面先来看看一个布局的问题。

布局问题

首先写四个div

按照百分比来设定宽度,无论如何缩放浏览器,这四个div都会自动调整大小。那么如果设置一个边框呢?

设置边框

从上面可以看到,由于增加了边框的像素,导致第四个div被挤了下来。那么该如何处理呢?

下面来看看流体布局。

流体布局

流体布局,就是使用百分比来设置元素的宽度,元素的高度按实际高度写固定值,流体布局中,元素的边线无法用百分比,可以使用样式中的计算函数 calc() 来设置宽度,或者使用 box-sizing 属性将盒子设置为从边线计算盒子尺寸。

使用calc()方式来解决上面的布局问题 可以通过计算的方式给元素加尺寸,比如: width:calc(25% - 4px);

使用box-sizing方式解决上面的布局问题 1、content-box 默认的盒子尺寸计算方式 2、border-box 置盒子的尺寸计算方式为从边框开始,盒子的尺寸,边框和内填充算在盒子尺寸内

响应式布局

响应式布局就是使用媒体查询的方式,通过查询浏览器宽度,不同的宽度应用不同的样式块,每个样式块对应的是该宽度下的布局方式,从而实现响应式布局。响应式布局的页面可以适配多种终端屏幕(pc、平板、手机)。

相应布局的伪代码如下:

代码语言:javascript复制
@media (max-width:960px){
    .left_con{width:58%;}
    .right_con{width:38%;}
}
@media (max-width:768px){
    .left_con{width:100%;}
    .right_con{width:100%;}
}

看完上面的示例,下面再来实操一下看看。

按照上面的流体布局,当缩放浏览器的时候,这四个div就会被压缩比较窄。例如,如果是手机APP,那么就更加窄小了。

那么下面可以设置一下响应式布局。

当浏览器缩放宽度小于800px,那么div的大小就变为50%

当浏览器缩放宽度小于500px,那么div的大小就变为98%

这就是响应式布局了,根据宽度的变化,响应变化相关的样式,达到适配不同的浏览器大小。

1 人点赞