HTML5 响应式布局

一、什么是响应式布局?

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

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;
    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,805评论 1 92
  • 使用Media Query (媒介查询)来实现响应式布局。 CSS中的Media Query设备宽高: devic...
    hello青峰阅读 434评论 0 1
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    love2013阅读 2,337评论 0 11
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    wzhiq896阅读 1,805评论 0 2
  • 优点: 1): 面对不同分辨率设备灵活性强2): 能够快捷解决多设备显示适应问题 缺点: 1): 兼容各种设备工作...
    hello青峰阅读 1,164评论 0 0