首页 前端知识 flex布局——flex-direction属性

flex布局——flex-direction属性

2024-02-03 12:02:04 前端知识 前端哥 601 754 我要收藏

1.flex布局原理

1)flex是flexible Box的缩写,意为“弹性布局”,用来为盒状模型提供最大的灵活性,任何一个容器都可以指定为flex布局。
当我们为父盒子设为flex布局以后,子元素的float、clear、和vertical-align属性将失效。
2)采用flex布局的元素,称为flex容器,简称"容器",它的所有子元素自动成为容器成员,称为flex项目(flex item),简称"项目"。
3)flex布局一定要给父盒子添加display: flex才有效果
总结:通过给父盒子添加flex属性,来控制子盒子的位置和排列方式。

2.flex布局父项常见属性

flex-direction: 设置主轴的方向
justify-content:设置主轴上的子元素排列方式
flex-wrap: 设置子元素是否换行
align-items:设置侧轴上的子元素的排列方式(单行)
align-content: 设置侧轴上的子元素的排列方式(多行)
flex-flow: 符合属性,相当于同时设置了flex-direction和flex-wrap
今天我们先学习flex-direction这个属性

flex-direction设置主轴方向

a.主轴与侧轴
在flex布局中,是分为主轴和侧轴两个方向,同样的叫法有:行和列、x轴和y轴
默认主轴方向就是x轴方向,水平向右
默认侧轴方向就是y轴方向,水平向下
在这里插入图片描述
b.属性值
flex-direction属性决定主轴的方向
注意:主轴和侧轴是会变的,就看flex-direction设置谁为主轴,剩下的就是侧轴,而我们的子元素是跟着主轴来排列的
(1) flex-direction: row 默认值子元素从左到右排列
Html代码

<body>
    <div>
        <!--在flex布局中所有元素都有高度和宽度,不用再转化了 -->
        <span>1</span>
        <span>2</span>
        <span>3</span>
        <span>4</span>
    </div>
</body>

CSS代码

<style>
        div {
            display: flex; /* flex布局中一定要给父元素加这个 */
            width: 800px;
            height: 400px;
            background-color: aquamarine;
            /* 默认的主轴时x轴,行 row, 那么y轴就是侧轴 */
            /* 默认元素是跟着主轴来排列的 */
             flex-direction: row;
        }
        
        div span {
            width: 150px;
            height: 75px;
            background-color: antiquewhite;
            margin-right: 2px;
        }
    </style>

打开浏览器
在这里插入图片描述
注意:这里黄盒子之间有空隙是因为我给span标签设置margin-right
(2) flex-direction: row-reverse 子元素从右到左排列
Html代码

<body>
    <div>
        <span>1</span>
        <span>2</span>
        <span>3</span>
        <span>4</span>
    </div>
</body>

CSS代码

<style>
        div {
            display: flex;
            width: 800px;
            height: 400px;
            background-color: aquamarine;
            /*  翻转 */
             flex-direction: row-reverse; 
           
        }
        
        div span {
            width: 150px;
            height: 75px;
            background-color: antiquewhite;
            margin-right: 2px;
        }
    </style>

打开浏览器
在这里插入图片描述
注意:子盒子都反向排列了,1好盒子没有和绿色的盒子边重合是因为我给span标签加了margin-right: 2px;
(3) flex-direction: column 子元素从上到下排列
Html代码

<body>
    <div>
        <span>1</span>
        <span>2</span>
        <span>3</span>
        <span>4</span>
    </div>
</body>

CSS代码

<style>
        div {
            display: flex;
            width: 800px;
            height: 400px;
            background-color: aquamarine;
            /* 我们可以把主轴设置为y轴 column, 那么x轴就成了侧轴 */
             flex-direction: column 
        }
         div span {
            width: 150px;
            height: 75px;
            background-color: antiquewhite;
            margin-right: 2px;
        }
</style>

打开浏览器
在这里插入图片描述
注意:这里黄盒子之间没有空隙是因为我没有给span标签设置margin-bottom
(4) flex- direction: column-reverse 子元素从右到左排列
Html代码

<body>
    <div>
        <span>1</span>
        <span>2</span>
        <span>3</span>
        <span>4</span>
    </div>
</body>

CSS代码

<style>
        div {
            display: flex;
            width: 800px;
            height: 400px;
            background-color: aquamarine;
            /* 翻转 */
            flex-direction: row-reverse;
        }
         div span {
            width: 150px;
            height: 75px;
            background-color: antiquewhite;
            margin-right: 2px;
        }
</style>

打开浏览器
在这里插入图片描述
注意:子盒子都反向排列了
好了,今天flex布局的flex-direction属性讲完了,明天继续讲flex布局的justify-content属性和align-items属性和align-content属性,希望大家点赞关注哟,多多支持小董,谢谢!

转载请注明出处或者链接地址:https://www.qianduange.cn//article/1156.html
标签
评论
发布的文章

jQuery ---- 插件

2024-02-15 14:02:06

CSS-JavaScript-Jquery-Servlet

2024-02-15 14:02:00

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!