美文网首页
HTML5 响应式布局

HTML5 响应式布局

作者: 兔子不打地鼠打代码 | 来源:发表于2018-01-10 20:44 被阅读64次

一、什么是响应式布局?

就是一个网站能够兼容多个终端,而不是为每个终端做一个特定的版本。

1. 响应式布局的优点?

1)面对不同分辨率设备灵活性强
2)能够快捷解决多设备显示适应问题

2. 响应式布局的缺点?

1)兼容各种设备工作量大,效率低下
2)代码累赘,会出现隐藏无用的元素,加载时间加长

二、 Media Qurey(媒介查询)

设备屏幕的宽和高:device-width device-height
渲染窗口的宽和高:width height
设备的手持方向:orientation
设备的分辨率:resolution

1. 使用方法:

外联
内嵌样式

3.实例

1)当屏幕宽度小于640px时,背景色为灰色,反之则为蓝色

HtML:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>实现响应式布局效果</title>
    <link href="lesson23.css" type="text/css" rel="stylesheet" media="only screen and (max-width:640px)">
   <!--only screen and (...)设置当屏幕宽度在640px范围之内时,才会显示css样式-->
    <style>
        @media screen and (min-width:640px ){
            body{
                background-color: #6bb2ff;
            }
        }
    </style>
</head>
<body>

</body>
</html>
CSS(lesson23.css):
*{
    margin: 0;
    padding: 0;
}

body{
    background-color: #cccccc;
}

2)实现当屏幕宽度大于960px时不同的渲染效果。


屏幕宽度大于960px 屏幕宽度在600-960px范围内 屏幕宽度小于600px
HTML:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width = device-width,initial-scale = 1">
    <title>实现响应式布局效果</title>
    <link href="lesson23.css" type="text/css" rel="stylesheet">

</head>
<body>
    <div class="heading"></div>
    <div class="container">
        <div class="left"></div>
        <div class="main"></div>
        <div class="right"></div>
    </div>
    <div class="footing"></div>
</body>
</html>
CSS:
*{
    margin: 0;
    padding: 0;
}

.heading,.container,.footing{
    margin: 10px auto
}
.heading{
    height: 100px;
    background-color: chocolate;
}

.left,.right,.main{
    background-color: cornflowerblue;
}

.footing{
    height:100px ;
    background-color: aquamarine;
}

@media screen and (min-width: 960px) {
    .heading,.container,.footing{
        width:960px ;
    }
    .left,.main,.right{
        float: left;
        height: 500px;
    }
    .left,.right{
        width: 200px;
    }

    .main{
        margin:0 5px;
        width:550px;
    }

    .container{
        height: 500px;
    }
}

@media screen and (min-width: 600px) and (max-width: 960px) {
    .heading,.container,.footing{
        width: 600px;
    }
    .left,.main{
        float: left;
        height: 400px;
    }
    .right{
        display: none;
    }
    .left{
        width: 160px;
    }
    .main{
        width:435px;
        margin-left: 5px;
    }
    .container{
        height: 400px;
    }
}

@media screen and (max-width: 600px){
    .heading,.container,.footing{
        width:400px;
    }
    .left,.right{
        width: 400px;
        height: 100px;
    }
    .main{
        margin-top: 10px;
        width: 400px;
        height:200px;
    }
    .right{
        margin-top:10px;
    }
    .container{
        height: 420px;
    }
}

相关文章