flex 弹性盒子

Flexible Box 模型,通常被称为 flexbox,是一种一维的布局模型。它给 flexbox 的子元素之间提供了强大的空间分布和对齐能力。本文给出了 flexbox 的主要特性,更多的细节将在别的文档中探索。

我们说 flexbox 是一种一维的布局,是因为一个 flexbox 一次只能处理一个维度上的元素布局,一行或者一列。作为对比的是另外一个二维布局 CSS Grid Layout,可以同时处理行和列上的布局。

主轴由 flex-direction 定义,可以取 4 个值:

  • row
  • row-reverse
  • column
  • column-reverse

另外一个需要理解的重点是 flexbox 不会对文档的书写模式提供假设。过去,CSS 的书写模式主要被认为是水平的,从左到右的。现代的布局方式涵盖了书写模式的范围,所以我们不再假设一行文字是从文档的左上角开始向右书写,新的行也不是必须出现在另一行的下面。

你可以在接下来的文章中学到更多 flexbox 和书写模式关系的详细说明。下面的描述是来帮助我们理解为什么不用上下左右来描述 flexbox 元素的方向。

外面的大容器的属性的设置

1. flex-direction   主轴方向
2. flex-wrap        主轴一行满了换行
3. flex-flow        1和2的组合
4. justify-content  主轴元素对齐方式
5. align-items      交叉轴元素对齐方式//单行
6. align-content    交叉轴行对齐方式//多行

示例代码
 

* {
        padding: 0;
        margin: 0;
    }
    .all {
        display: flex;
        margin: 200px auto;
        flex-direction: row;
        justify-content: center;
        background-color: aliceblue;
        flex-wrap: nowrap;
        width: 700px;
        height: 100px;
        align-items: center;



    }

    .obj {
        flex: 1;
        margin: 2rem;
        text-align: center;
    }

    .img {
        background-image: url(./images/localnav_bg.png);
        height: 4rem;
        width: 4rem;
        margin: 0 auto;
    }

    .text {
        padding-top: 2px;
    }

    .obj:nth-child(2) .img {
        background-position: 0 16rem;
    }

    .obj:nth-child(3) .img {
        background-position: 0 12rem;
    }

    .obj:nth-child(4) .img {
        background-position: 0 8rem;
    }

    .obj:nth-child(5) .img {
        background-position: 0 4rem;
    }
</style>

<body>
    <div class="all">
        <div class="obj">
            <a href="#"><div class="img"></div></a>
            <div class="text">景点 娱乐</div>
        </div>
        <div class="obj">
            <a href="#"><div class="img"></div></a>
            <div class="text">周边游</div>
        </div>
        <div class="obj">
            <a href="#"><div class="img"></div></a>
            <div class="text">美食林</div>
        </div>
        <div class="obj">
            <a href="#"><div class="img"></div></a>
            <div class="text">一日游</div>
        </div>
        <div class="obj">
            <a href="#"><div class="img"></div></a>
            <div class="text">当地攻略</div>
        </div>
    </div>
</body>

</html>

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值