前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >flex布局

flex布局

作者头像
阿超
发布2022-08-21 11:00:13
1.3K0
发布2022-08-21 11:00:13
举报
文章被收录于专栏:快乐阿超快乐阿超

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

代码语言:javascript
复制
竖排,从上到下排列

flex-wrap

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

代码语言:javascript
复制
不换行,flex 成员项在一行排布,排布的开始位置由direction指定

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-shrink flex-basisalign-content 属性

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

代码语言:javascript
复制
//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>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-12-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Flexbox
    • Flex 容器
      • flex-direction
        • flex-wrap
          • justify-content
            • align-items
              • flex
              相关产品与服务
              容器服务
              腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档