伸缩布局---flex

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:这里可以添加本文要记录的大概内容:
本篇博客主要是对flex–伸缩布局的一些记录。


提示:以下是本篇文章正文内容,下面案例可供参考

一、flex

在进行网页布局的时候,我们会遇到这样的情况,两边是固定的,但中间却可以自由伸缩,但不会挤压两边的布局,现在用flex布局就可以很容易的实现。
效果展示:
在这里插入图片描述

    <style>
        div {
            width: 100%;
            height: 44px;
            max-width: 640px;
            min-width: 320px;
            display: flex;
        }
        
        div span {
            text-align: center;
            line-height: 44px;
            color: #fff;
        }
        
        div span:nth-child(1),
        div span:nth-child(3) {
            width: 100px;
            background-color: pink;
        }
        
        div span:nth-child(2) {
            flex: 1;
            background-color: blue;
        }
    </style>
</head>

<body>
    <div>
        <span>左侧</span>
        <span>中间</span>
        <span>右侧</span>
    </div>
</body>

二、属性

1.1 主轴的方向

语法:flex-direction: ;
默认的主轴是x轴行 row, 具体取决于flex-direction属性的设置
属性值:row,column,row-reverse x轴的反方向排列。

1.2 主轴上的子元素排列方式

语法:justify-content:;
设置主轴上的子元素排列方式。

justify-content: center;     /* 居中排列 */
justify-content: start;      /* Pack items from the start */
justify-content: end;        /* Pack items from the end */
justify-content: flex-start; /* 从行首起始位置开始排列 */
justify-content: flex-end;   /* 从行尾位置开始排列 */
justify-content: left;       /* Pack items from the left */
justify-content: right;      /* Pack items from the right */
justify-content: space-between;  /* 均匀排列每个元素
                                   首个元素放置于起点,末尾元素放置于终点 */
justify-content: space-around;  /* 均匀排列每个元素
                                   每个元素周围分配相同的空间 */
justify-content: space-evenly;  /* 均匀排列每个元素
                                   每个元素之间的间隔相等 */
justify-content: stretch;       /* 均匀排列每个元素
                                   'auto'-sized 的元素会被拉伸以适应容器的大小 */

1.3 换行

语法:flex-wrap: ;
指定 flex 元素单行显示还是多行显示 。如果允许换行,这个属性允许你控制行的堆叠方向。

flex-wrap: nowrap;  /* Default value */
flex-wrap: wrap;
flex-wrap: wrap-reverse;

1.4 侧轴上的子元素排列方式

语法:align-items: ; 设置侧轴上的子元素排列方式

align-items: center; /* Pack items around the center */
align-items: start; /* Pack items from the start */
align-items: end; /* Pack items from the end */
align-items: flex-start; /* Pack flex items from the start */
align-items: flex-end; /* Pack flex items from the end */
align-items: self-start;
align-items: self-end;

1.5 侧轴上的子元素的排列方式(多行)

语法:align-content: ; 设置侧轴上的子元素的排列方式(多行)

/*align-content不采用左右值 */
align-content: center;     /* 将项目放置在中点 */
align-content: start;      /* 最先放置项目 */
align-content: end;        /* 最后放置项目 */
align-content: flex-start; /* 从起始点开始放置flex元素 */
align-content: flex-end;   /* 从终止点开始放置flex元素 */
/* 分布式对齐 */
align-content: space-between; /* 均匀分布项目
                                 第一项与起始点齐平,
                                 最后一项与终止点齐平 */
align-content: space-around;  /* 均匀分布项目
                                 项目在两端有一半大小的空间*/
align-content: space-evenly;  /* 均匀分布项目
                                 项目周围有相等的空间 */
align-content: stretch;       /* 均匀分布项目
                                 拉伸‘自动’-大小的项目以充满容器 */

1.6 简写

语法:flex-flow: column wrap;

1.7总体属性效果展示:

 <style>
        div {
            /* 给父元素添加flex布局 */
            display: flex;
            width: 600px;
            height: 500px;
            background-color: pink;
            /* 默认的主轴是x轴 行 row 具体取决于属性的设置 */
            /* flex-direction: row; */
            /* 把主轴变为y轴 */
            /* flex-direction: column; */
            /* 从右到左 */
            /* flex-direction: row-reverse; */
            /* 我们可以把主轴设置为y轴,那么x轴就是侧轴 */
            /* flex-direction: column; */
            /* justify-content:设置主轴上的子元素排列方式 */
            /* justify-content: flex-start; */
            /* justify-content: flex-end; */
            /* 让子元素居中对齐 */
            justify-content: center;
            /* 平分剩余空间 */
            /* justify-content: space-around; */
            /* 先两边贴边,再分配剩余空间 */
            /* justify-content: space-between; */
            /* 默认情况下,项目(子元素)都排在一条线(又称”轴线”)上 
                如果装不开,会缩小子元素
            */
            /* 换行 */
            /* flex-wrap: wrap; */
            /* align-items 设置侧轴上的子元素排列方式 */
            /* 即水平居中,又垂直居中 */
            /* align-items: center; */
            /* 拉伸,但子元素不带高度 */
            /* align-items: stretch; */
            /* align-content  设置侧轴上的子元素的排列方式(多行)
            出现 换行 的情况
            */
            /* 因为有换行的情况出现 */
            align-content: center;
            /* 简写 */
            flex-flow: column wrap;
        }
        
        div span {
            width: 150px;
            height: 100px;
            color: #fff;
            background-color: purple;
            margin: 30px;
        }
    </style>

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

在这里插入图片描述


总结

提示:这里对文章进行总结:
这是对flex布局的一点总结,后面继续补充。

  • 7
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
在uni-app中使用flex布局可以通过以下步骤实现: 1. 在需要使用flex布局的组件的父元素上添加样式:display: flex。 2. 可以使用flex属性来控制子元素的布局方式。常用的flex属性包括: - flex-direction:控制子元素的排列方向,可选值有row(水平排列,默认值)、column(垂直排列)、row-reverse(水平反向排列)、column-reverse(垂直反向排列)。 - justify-content:控制子元素在主轴上的对齐方式,可选值有flex-start(起点对齐,默认值)、center(居中对齐)、flex-end(终点对齐)、space-between(两端对齐,子元素之间间隔平均分配)、space-around(子元素之间间隔平均分配,两端留有空隙)。 - align-items:控制子元素在交叉轴上的对齐方式,可选值有flex-start(起点对齐)、center(居中对齐,默认值)、flex-end(终点对齐)、stretch(拉伸对齐,子元素高度自动匹配父元素高度)、baseline(基线对齐)。 例如,以下样式将子元素在水平方向上居中对齐,垂直方向上起点对齐: ``` .container { display: flex; justify-content: center; align-items: flex-start; } ``` 3. 还可以使用flex-grow属性来控制子元素的伸缩比例,可选值为数字。默认值为0,表示子元素不伸缩。例如,以下样式将两个子元素的宽度分别设置为1和2,即宽度比例为1:2: ``` .container { display: flex; } .item1 { flex-grow: 1; } .item2 { flex-grow: 2; } ``` 通过以上步骤,就可以在uni-app中使用flex布局了。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值