Css盒子模型

盒子模型

所谓盒子模型,不过就是大盒子嵌套小盒子

<html>
    <head>
        <title></title>
    </head>
    <style>
        .bigbox{
            width: 500px;
            height: 500px;
            background: red;
        }
        .smollbox{
            width: 250px;
            height: 250px;
            background: pink;
            margin: auto;
            transform: translateY(50%);
        }
    </style>
    <body>
        <div class="bigbox">    <!-- 大盒子 -->
            <div class="smollbox"></div>    <!-- 小盒子 -->
        </div>
    </body>
</html>

Flex布局

使用场景,局部tab布局,导航栏布局等

<html>
<head>
    <title></title>
</head>
<style>
    div{
        width: 400px;
        height: 50px;
        background: pink;
        display: flex;
        justify-content: center;/* 水平居中 */
        align-items: center;/* 垂直居中 */
        text-align: center;/* 文本内容居中 */
    }
    a{
        flex: 1;/* 平均分 */
    }
</style>
<body>
    <div>
        <a>首页</a>
        <a>收藏</a>
        <a>关注</a>
        <a>我的</a>
    </div>
</body>
</html>

经常使用的Flex元素

Flex布局,要先给父元素设置display:flex元素

给子元素设置flex:数字,数字相同代表平均分,把父元素宽度平均分给子元素

如果要设置换行使用:看代码

<html>
<head>
    <title></title>
</head>
<style>
    div{
        width: 400px;
        height: 100px;
        background: pink;
        display: flex;
        justify-content: center;/* 水平居中 */
        align-items: center;/* 垂直居中 */
        text-align: center;/* 文本内容居中 */
        flex-wrap: wrap;    /* 允许换行 */  /* nowrap不允许换行 */
    }
    a{
        width: 50%;
    }
</style>
<body>
    <div>
        <a>首页</a>
        <a>收藏</a>
        <a>关注</a>
        <a>我的</a>
    </div>
</body>
</html>

这些是Flex常用的基础样式

Grid布局

使用场景:全局分布,用来设置排版等,大型使用建议grid,小型使用flex

<html>
    <head>
        <title></title>
    </head>
    <style>
        body{
            display: grid;
            grid-template-columns: 1fr 1fr; /* 定义2列 */
            grid-template-rows: 1fr 1fr 1fr;/* 定义3行 */
            grid-gap: 20px; /* 间隔20px */
        }
        .header{
            background: red;
            grid-row: 1;    /* 占第一行的1到3列 */
            grid-column: 1/3;
        }
        .main1{
            background: pink;
            grid-row: 2;
        }
        .main2{
            background: green;
            grid-row: 2;
        }
        .footer{
            background: blue;
            grid-row: 3;
            grid-column: 1/3;
        }
    </style>
    <body>
        <div class="header"></div>
        <div class="main1"></div>
        <div class="main2"></div>
        <div class="footer"></div>
    </body>
</html>

给body设置display:grid元素

grid-template-columns设置列:单位为fr,设置一列1fr,两列1fr 1fr

grid-template-rows设置行:单位为fr,设置一行1fr,两行1fr 1fr

将盒子划分位置

grid-column:1 / 3        盒子占两列

我解释一下,为什么占两列要写成1 / 3

两个盒子拼在一起三条线,看图1 / 3表示从第一列开始到第三列

grid-row : 1                盒子占第一行

grid-gap:20px;       上下左右间隔20px

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值