响应式布局

5 篇文章 0 订阅

响应式布局原则:移动端先行

flexbox 实现块流动

grid网格布局实现块布局变化(配合媒体查询)

可伸缩图像

max-width:100%;

弹性布局容器设置

max-width:960px;

对于子容器可设置百分比的宽度

Grid网格布局

对网格容器设置:

display: grid;                            //网格显示

grid-template-columns:           //容器宽度

grid-template-rows:                //容器高度

grid-gap:                                //行和列的间距

单位:fr:剩余宽度的百分比      20%:容器宽度的20%      400px:400个像素

          repeat:(3,1fr)——重复3次

网格元素设置:

grid-row:1 / span 2;

grid-column:2;// 第一行第二列,占两行

Flexbox布局

有一个主容器,其中的子元素就是flex项目,flex 属性和规则都运用到主容器上

属性

flex-direction:row(主轴横向)、column(主轴纵向)

align-items:center(块之间居中对齐)、flex-start(顶部对齐)、flex-end(底部对齐)

justify-content:center(居中、紧贴)、space-between(等间距分布、贴边)、space-around(间隙分布)

flex-warp:nowarp(不换行)、warp(换行)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .box {
            display: grid;
            grid-template-rows: 130px 30px 40px;
            grid-template-columns: 130px 200px;
        }

        .pic {
            grid-row: 1 / span 2;
            grid-column: 1;
            background: blue;
        }

        .title {
            grid-row: 1;
            grid-column: 2;
            background: pink;
        }

        .label {
            grid-row: 2;
            grid-column: 2;
            background: deeppink;
        }

        .price {
            grid-row: 3;
            grid-column: 1 / span 2;
            background: deepskyblue;
        }

        @media only screen and (min-width: 768px) {
            .box {
                display: grid;
                grid-template-rows: 240px 30px 30px 20px;
                grid-template-columns: 200px;
            }

            .pic {
                grid-row: 1;
                grid-column: 1;
                background: aliceblue;
            }

            .title {
                grid-row: 2;
                grid-column: 1;
                background: cadetblue;
            }

            .label {
                grid-row: 3;
                grid-column: 1;
                background: deepskyblue;
            }

            .price {
                grid-row: 4;
                grid-column: 1;
                background: lightskyblue;
            }
        }
    </style>
</head>
<body>
<div class="box">
    <div class="pic"></div>
    <div class="title"></div>
    <div class="label"></div>
    <div class="price"></div>
</div>
</body>
</html>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值