响应式布局


前言

响应式布局是一个网站能够兼容多个终端,而不是为每个终端做一个特定的版本,这个概念就是为解决移动互联网而诞生的

基本实现原理

通过css中的media query(媒介查询)@media功能来判断终端宽度在多少像素内,从而执行对应的css样式。
优点
面对不同分辨率设备灵活性强
能够解决设备显示适应问题
缺点
兼容各种设备工作量大,效率低下
代码累赘,会出现隐藏无用的元素,加载时间加长
其实这是一种折衷性质的设计解决方案,多方面因素影响而达不到最佳效果
一定程度上改变了网站原有的布局结构,会出现用户混淆的情况.域名查询 网站注册

案例

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
    <title>响应式布局</title>
    <style type="text/css">
        body,
        html {
            margin: 0;
            padding: 0;
        }

        .box {
            height: 100px;
            color: #000;
            font-size: 16px;
            text-align: center;
            line-height: 100px;
            float: left;
        }

        .box1 {
            background: red;
        }

        .box2 {
            background: orange;
        }

        .box3 {
            background: yellow;
        }

        .box4 {
            background: green;
        }

        @media(min-width: 768px) {
            .box1 {
                width: 20%;
            }

            .box2 {
                width: 60%;
            }

            .box3 {
                width: 20%;
            }

            .box4 {
                width: 100%;
            }
        }

        @media (min-width: 372px) and (max-width: 768px) {
            .box1 {
                width: 50%;
            }

            .box2 {
                width: 50%;
            }

            .box3 {
                width: 50%;
            }

            .box4 {
                width: 50%;
            }
        }

        @media (max-width: 372px) {
            .box1 {
                width: 100%;
            }

            .box2 {
                width: 100%;
            }

            .box3 {
                width: 100%;
            }

            .box4 {
                width: 100%;
            }
        }
    </style>
</head>
<body>
    <div class="wrapper">
        <div class="box box1">box1</div>
        <div class="box box2">box2</div>
        <div class="box box3">box3</div>
        <div class="box box4">box4</div>
    </div>
</body>
</html>

  目录