zoukankan      html  css  js  c++  java
  • 响应式布局---1. 响应式开发

    1.1 响应式开发原理

    就是使用媒体查询针对不同的宽度的设备进行布局和样式的设置,从而适配不同设备的目的。在响应式开发中将设备划分成以下4个挡位。

    1.2 响应式布局容器

    响应式需要一个父级作为布局容器来配合子元素实现变化效果。
    原理:在不同屏幕下,通过媒体查询来改变这个布局容器的大小,再改变里面子元素的排列方式和大小,从而实现不同屏幕下,看到不同的页面布局和样式的变化。 布局容器的宽度应该都是固定的。

    平时响应式尺寸的划分

    • 超小屏幕(手机,<768px):设置宽度为100%
    • 小屏幕(平板,>=768px):设置宽度为750px
    • 中等屏幕(桌面显示器,>=992px):设置宽度为970px
    • 大屏幕(大桌面显示器,>=1200px):设置宽度为1170px
      布局容器宽度比屏幕宽度小一点,这样两侧留有空白,效果会好看点。对于特殊的页面(通栏)可以设置版心,这样也可以保证相对于屏幕而言,内容的两侧留有空隙。
      举例:
    <body>
        <!-- 响应式开发里,首先需要一个布局容器 -->
        <div class="container">
        </div>
    </body>
    
    <style>
        .container {
            height: 150px;
            background-color: pink;
            margin: 0 auto;
        }
        /* 1.超小屏幕(手机,<768px),布局容器设置宽度为100% */
        @media screen and (max- 767px) {
            .container {
                 100%;
            }
        }
        /* 2. 小屏幕(平板,>=768px),设置宽度为750px */
        @media screen and (min- 768px) {
            .container {
                 750px;
            }
        }
        /* 3.中等屏幕(桌面显示器,>=992px),设置宽度为970px */
        @media screen and (min- 992px) {
            .container {
                 970px;
            }
        }
        /* 4.大屏幕(大桌面显示器,>=1200px),设置宽度为1170px */
        @media screen and (min- 1200px) {
            .container {
                 1170px;
            }
        }
    </style>
    

    响应式导航案例

    思路:

    • 当屏幕宽度大于等于768px,我们给布局容器container宽度设置为750px
    • container里面包含8个小li盒子,每个盒子的宽度定为93.75px(750/8),高度为30px,浮动一行显示。
    • 当屏幕缩放,宽度小于768px的时候,container盒子的宽度设置为100%宽度
    • 此时里面的8个小li,宽度修改为33.33%,这样一行只能显示3个小li,剩余的下行显示。

    <body>
        <div class="container">
            <ul>
                <li>导航栏</li>
                <li>导航栏</li>
                <li>导航栏</li>
                <li>导航栏</li>
                <li>导航栏</li>
                <li>导航栏</li>
                <li>导航栏</li>
                <li>导航栏</li>
            </ul>
        </div>
    </body>
    
    <style>
        * {
            margin: 0;
            padding: 0;
        }
        
        ul {
            list-style: none;
        }
        
        .container {
             750px;
            margin: 0 auto;
        }
        
        .container ul li {
            float: left;
             93.75px;
            height: 30px;
            background-color: green;
        }
        
        @media screen and (max- 767px) {
            .container {
                 100%;
            }
            .container ul li {
                 33.33%;
            }
        }
    </style>
    
  • 相关阅读:
    P1271 【深基9.例1】选举学生会(基数排序)
    P7076 [CSP-S2020] 动物园
    #10127. 「一本通 4.3 练习 1」最大数
    P2671 [NOIP2015 普及组] 求和
    P3369 【模板】普通平衡树
    P2503 [HAOI2006]均分数据
    P2846 [USACO08NOV]Light Switching G(动态开点写法)
    P6278 [USACO20OPEN]Haircut G
    P2341 [USACO03FALL][HAOI2006]受欢迎的牛 G
    P1012 [NOIP1998 提高组] 拼数
  • 原文地址:https://www.cnblogs.com/deer-cen/p/12156461.html
Copyright © 2011-2022 走看看