响应式布局

182 阅读2分钟

一个网站同时适配多种设备和多个屏幕,让网站的布局随用户的使用环境而变化,大大提升了用户友好性

1.viewport(视口)

用于呈现网页的区域; 电脑端的视口宽度等于分辨率,而移动端的视口宽度默认值是设备厂家指定的; 手机端视口一般设为980px,但是字会变得非常小,解决该问题需要如下代码

<meta name="viewport"
content="width=device-width //视口为设备宽度,不设置的话默认为980px
    initial-scale=1.0 //初始化的视口大小是1.0倍
    maximum-scale=1.0 //最大倍数是1.0倍
    user-scalable=0" //不允许缩放窗口
/> 

2.图片

img {
max-width: 100%;
}

用 width:100% 图片会被拉伸

3.手机浏览器内核

兼容的前缀:
-webkit-
-ms-
-moz-
-o-

4.流式布局(百分比布局,弹性盒布局)

百分比能够设置的属性是

width(相对父的width)
height(相对父的height)
padding(相对父的width)
margin(相对父的width)

其他属性比如border、font-size不能用百分比设置的。

5.媒体查询(@media)

查询现在看这个网页的设备是什么,以及它的宽度是多少

body {
    background-color: grey;
 } 
@media screen and (min-width:1200px){
    body{
        background-color: pink;
    }
}
 @media screen and (min-width:700px) and (max-width:1200px){
    body{
    background-color: blue;
    }
}
@media screen and (max-width:700px){
    body{
    background-color: orange;
        }
}
//screen表示看这个网页的设备是显示器

IE6、7、8不支持媒体查询,也为了防止手机端的某些浏览器不支持媒体查询,所以不要把所有的选择器都放在媒体查询里面。

6.rem响应式布局

  • 一般不要给元素设置具体的宽度,但是对于一些小图标可以设定具体宽度值

  • 高度值可以设置固定值,设计稿有多大,我们就严格写多大

  • 所有设置的固定值都用REM做单位(首先在HTML中设置一个基准值:PX和REM的对应比例,然后在效果图上获取PX值,布局的时候转化为REM值)

  • JS获取真实屏幕的宽度,让其除以设计稿的宽度,算出比例,把之前的基准值按照比例进行重新的设定,这样项目就可以在移动端自适应了

摘自(blog.csdn.net/vhwfr2u02q/…