17_网格布局

一、第二种移动端布局方式

第二种移动端布局:vw
一.vw单位是什么:viewport width 视口宽度

二.vw换算方式:1vw=视口宽度的百分之一/100vw=视口的100%

三.vw和%单位之间的区别

  1. vw单位是视口单位,看到多少vw就会显示多少
  2. 百分比单位是是浏览器单位
  3. 滚动条在pc端是占位置,在移动端不占位置(vw建议在移动端使用)

四.关于vw单位计算移动端布局的推算思路(了解)

  1. 在浏览器中100vw和浏览器的宽度是一样的,ui设计图也可以看成是和浏览器大小是一样(dpr比例)
  2. 可以得到100vw/ui设计图的大小=在浏览器中所占的每一份的大小
  3. 量取设计图中每一个元素的大小*上面的到的每一份大小

五.由于移动端设计图需要考虑dpr设备像素比

  1. 第一种情况:当设计图的宽度是640px,dpr是2

    • 100vw = 640px/2
    • 100vw = 320px
    • 1vw = 3.2px
    • 1px = 0.3125vw
    • 表示当前1px占据浏览器的0.3125vw,那么在设计图量取出来的px直接乘以当前一份的大小
  2. 第二种情况:当设计图的宽度是750px,dpr是2

    • 100vw = 750px/2
    • 100vw = 375px
    • 1vw = 3.75px
    • 1px = 0.2667vw
    • 表示当前1px占据浏览器的0.2667vw,那么在设计图量取出来的px直接乘以当前一份的大小

六:关于vw实现移动端的总结

  1. 在工作中标准的ui设计图宽度都是750px,考虑dpr是2
  2. 导航的高度是88px,高度如何设置呢 88/2=44px * 0.2667vw
  3. 底部的高度是90px,高度如何设置呢 90/2=45px * 0.2667vw
  4. 由于每次的量取的设计图大小都要乘以0.2667vw很麻烦 考虑可不可以让量取出来大小自己去计算呢?
  5. 考虑将得到的44px/45px,直接改写为44rem/45rem
  6. 将根元素html{font-size:0.2667vw}

二、HTML中的框架标签

<style>
        html,body{
            height: 100%
        }
        iframe{
            width: 100%;
            height: 100%
        }
    </style>

<body>
    <!-- 和a标签的作用类似 src -->
    <iframe src="https://swiper.com.cn/demo/030-pagination.html" frameborder="0"></iframe>
    <!-- 
        优点:可以直接使用在线的地址
        缺点:没有网络、修改内容、搜索引擎是搜索不到的、卡顿
     -->
</body>

三、网格布局的使用

    <style>
        section{
            width: 600px;
            height: 600px;
            border: 1px solid #000;
            margin: 100px auto;
            /* 形成网格布局属性 */
            display: grid;
            /* 宽高属性:有几个属性值就会有几行几列 */
            /* 宽度 */
            grid-template-columns:1fr 1fr 1fr ; 
            /* 高度 */
            grid-template-rows:1fr 1fr 1fr  ;
            /* 区域划分:给所有的子级元素取别名 */
            grid-template-areas: 
            "a1 a2 a3"
            "a4 a4 a6"
            "a7 a8 a9"
        }
        div{
            border: 1px solid #000000;
        }
        .box{
            background: pink;
            /* 和父级相对应的 */
            grid-area: a4
        }
    </style>

<body>
    <section>
        <div>1</div><div>2</div><div>3</div>
        <div class="box">4</div><div>6</div>
       <div>8</div><div>9</div>
    </section>
</body>

四、百度风云榜

    <style>
        section{
            width: 400px;
            height: 500px;
            border: 1px solid #000;
            margin: 100px auto;
            display: grid;
            padding: 10px;
            /* grid-template-columns: 1fr 1fr 1fr;
            grid-template-rows: 1fr 1fr 1fr;
            grid-template-areas: 
            "a1 a2 a2"
            "a3 a2 a2"
            "a4 a4 a5"
            "a6 a7 a7" */
            grid-template: 
            "a1 a2 a2" 1fr
            "a3 a2 a2" 1fr
            "a4 a4 a5" 1fr
            "a6 a7 a7" 1fr
            /1fr 1fr 1fr;
            /* grid-column-gap: 10px;
            grid-row-gap: 10px; */
            grid-gap: 10px 10px
        }
        div:nth-child(1){
            grid-area: a1;
            background: red;
        }
        div:nth-child(2){
            grid-area: a2;
            background: pink;
        }
        div:nth-child(3){
            grid-area: a3;
            background: green;
        }
        div:nth-child(4){
            grid-area: a4;
            background: purple;
        }
        div:nth-child(5){
            grid-area: a5;
            background: yellow;
        }
        div:nth-child(6){
            grid-area: a6;
            background: skyblue;
        }
        div:nth-child(7){
            grid-area: a7;
            background: orange;
        }
    </style>

<body>
    <section>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
    </section>
</body>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值