flex布局

简介: flex布局

他想给M打一个电话,告诉她,他要回家了。不再回来了。最后他只是发了短信道:“M,我不爱你,从来没有爱过,因为我心里装着别人。”窗外掠过的景,就好像他的泪一样,总是一闪而过。——灵遁者

flex布局是开发中最常用的布局之一

阮一峰的flex布局教程

下方摘自uniapp官方文档flex布局一栏

Flexbox

Flex 容器

Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。

nvue布局模型基于 CSS Flexbox,以便所有页面元素的排版能够一致可预测,同时页面布局能适应各种设备或者屏幕尺寸。Flexbox 包含 flex 容器和 flex 成员项。如果一个nvue元素可以容纳其他元素,那么它就成为 flex 容器。

文档中未说明的 flexbox 属性均不支持:如 orderflex-growflex-shrinkflex-basisalign-contentalign-self 等。

在 nvue中,Flexbox 是默认且唯一的布局模型,所以你不需要手动为元素添加 display: flex; 属性。

flex-direction

定义了 flex 容器中 flex 成员项的排列方向,默认值为 column

可选值 描述
column 竖排,从上到下排列
column-reverse 反向竖排,排布方向与flex-direction:column相反
row 横排,从左到右排布
row-reverse 反向横排,排布方向与flex-direction:row相反

flex-wrap

决定了 flex 成员项在一行还是多行分布,默认值为nowrap

可选值 描述
nowrap 不换行,flex 成员项在一行排布,排布的开始位置由direction指定
wrap 换行,第一行在上方,flex 成员项在多行排布,排布的开始位置由direction指定
wrap-reverse 换行,第一行在下方,行为类似于wrap,排布方向与其相反

justify-content

定义了 flex 容器中 flex 成员项在主轴方向上如何排列以处理空白部分。默认值为 flex-start

可选值 描述
flex-start 左对齐,所有的 flex 成员项都排列在容器的前部
flex-end 右对齐,则意味着成员项排列在容器的后部
center 居中,即中间对齐,成员项排列在容器中间、两边留白
space-between 两端对齐,空白均匀地填充到 flex 成员项之间
space-around 表示 flex 成员项两侧的间隔相等,所以,成员项之间的间隔比成员项与边框的间隔大一倍

align-items

定义了 flex 容器中 flex 成员项在纵轴方向上如何排列以处理空白部分。默认值为 stretch。

可选值 描述
stretch 即拉伸高度至 flex 容器的大小
flex-start 上对齐,所有的成员项排列在容器顶部
flex-end 下对齐,所有的成员项排列在容器底部
center 中间对齐,所有成员项都垂直地居中显示

flex

flex 属性定义了 flex 成员项可以占用容器中剩余空间的大小。 flex {number}:值为 number 类型。

  • 如果所有的成员项设置相同的值 flex: 1,它们将平均分配剩余空间。
  • 经常用作自适应布局,将父容器的display:flex,侧边栏大小固定后,将内容区flex:1,内容区则会自动放大占满剩余空间。
  • 如果一个成员项设置的值为 flex: 2,其它的成员项设置的值为 flex: 1,那么这个成员项所占用的剩余空间是其它成员项的 2 倍。

注意

Flex 成员项暂不支持 flex-shrinkflex-basisalign-content 属性

该属性不支持 flex: flex-grow | flex-shrink | flex-basis 的简写。

//Gird布局
<template>
    <view>
        <view v-for="(v, i) in list" class="row">
            <view v-for="(text, k) in v" class="item">
                <view>
                    <text>{{text}}</text>
                </view>
            </view>
        </view>
    </view>
</template>
<script>
    export default {
        data() {
            return {
                list: [
                    ['A', 'B', 'C'],
                    ['D', 'E', 'F'],
                    ['G', 'H', 'I']
                ]
            }
        }
    }
</script>
<style scoped>
.row {
    flex-direction: row;
    height: 80px;
}
.item {
    flex: 1;
    justify-content: center;
    align-items: center;
    border-width: 1;
    border-style: solid;
    border-color: #FFFFFF;
    background-color: #00AAFF;
}
</style>
//等高模块
<template>
  <view>
    <view style="width:300px; height:100px;">
      <view style="flex: 1;background-color:blue"></view>
      <view style="flex: 1;background-color:red"></view>
      <view style="flex: 1;background-color:yellow"></view>
    </view>
  </view>
</template>
相关文章
|
23天前
|
前端开发 算法 Java
(CSS)使用Flex布局,帮助你快速了解各种基本的Flex布局属性以及帮你让元素快速达到布局中的指定位置!
(CSS)使用Flex布局,帮助你快速了解各种基本的Flex布局属性以及帮你让元素快速达到布局中的指定位置!
67 0
|
23天前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
Flex 布局 布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 + float属性。它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现。 2009年,W3C 提出了一种新的方案----Flex 布局,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地使用这项功能。 一、Flex 布局是什么? Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。
184 1
|
5月前
|
设计模式 容器
13.HarmonyOS流式卡片列表实现指南:Flex多行布局详解
在现代移动应用开发中,流式卡片列表是一种常见且实用的UI设计模式。它能够自适应屏幕宽度,在有限空间内高效展示多个内容项。本教程将详细讲解如何使用HarmonyOS的ArkUI框架中的Flex组件实现一个灵活的流式卡片列表,重点关注多行布局与对齐策略的应用。
135 2
|
5月前
|
开发者 UED 容器
07.精通HarmonyOS Flex对齐:从基础到高级布局技巧(上)
在HarmonyOS Next的ArkUI框架中,Flex容器提供了强大而灵活的对齐系统,使开发者能够精确控制子元素在容器中的排列方式。掌握这些对齐技术,是构建专业级用户界面的关键。
146 0
|
5月前
|
UED 容器
5.HarmonyOS Next开发宝典:掌握Flex布局的艺术
Flex布局(弹性布局)是HarmonyOS Next中最强大的布局方式之一,它提供了一种更加高效、灵活的方式来对容器中的子元素进行排列、对齐和分配空间。无论是简单的居中显示,还是复杂的自适应界面,Flex布局都能轻松应对。
163 0
|
5月前
|
UED 容器
10.HarmonyOS Next布局进阶:嵌套Flex容器与空间分配策略
在HarmonyOS Next的ArkUI框架中,Flex布局是构建用户界面的核心技术之一。通过嵌套使用Flex容器,我们可以创建复杂而灵活的界面结构,满足各种应用场景的需求。本教程将深入探讨如何在HarmonyOS Next中使用嵌套Flex容器实现复杂布局,以及如何合理分配和控制空间。
130 0
|
8月前
|
开发者 容器
鸿蒙开发:弹性布局Flex
在实际的开发中,需要掌握主轴与交叉轴的关系、换行规则及子元素属性,同时注意性能与兼容性问题,还有一点,Flex组件在渲染时存在二次布局过程,因此在对性能有严格要求的场景下建议使用Column、Row代替。
214 10
鸿蒙开发:弹性布局Flex
|
前端开发 容器
flex布局
【10月更文挑战第7天】
256 87
|
前端开发 UED 容器
使用 Flex 布局实现垂直居中效果
【10月更文挑战第7天】
1225 57
|
前端开发 UED 容器
在 CSS 中使用 Flex 布局实现页面自适应时需要注意什么?
【10月更文挑战第22天】在使用 Flex 布局实现页面自适应时,需要对其基本原理和特性有深入的理解,同时结合具体的布局需求和场景,进行细致的调整和优化。通过合理的设置和注意事项的把握,才能实现理想的自适应效果,提升用户体验。还可以根据实际情况进行更深入的探索和实践,以不断提升 Flex 布局的应用能力。
下一篇
开通oss服务