首页 > 其他分享 >flex布局

flex布局

时间:2023-11-06 20:24:29浏览次数:34  
标签:flex 项目 align 布局 content 主轴 对齐

常见属性

  1. display:定义一个元素是否为弹性容器。

    • display: flex:将元素设置为弹性容器。
    • display: inline-flex:将元素设置为内联弹性容器。
  2. flex-direction:指定弹性容器的主轴方向。

    • flex-direction: row:主轴水平,项目从左到右排列。
    • flex-direction: row-reverse:主轴水平,项目从右到左排列。
    • flex-direction: column:主轴垂直,项目从上到下排列。
    • flex-direction: column-reverse:主轴垂直,项目从下到上排列。
  3. flex-wrap:定义项目是否允许自动换行。

    • flex-wrap: nowrap:不允许自动换行,项目在一行内排列。
    • flex-wrap: wrap:允许自动换行,项目可以换到下一行。
    • flex-wrap: wrap-reverse:允许自动换行,项目可以换到下一行,但从下到上排列。
  4. justify-content:控制项目在主轴上的对齐方式。

    • justify-content: flex-start:项目在主轴起点对齐。
    • justify-content: flex-end:项目在主轴终点对齐。
    • justify-content: center:项目在主轴居中对齐。
    • justify-content: space-between:项目在主轴上平均分布,首尾不留空白。
    • justify-content: space-around:项目在主轴上平均分布,首尾留有相等的空白。
  5. align-items:控制项目在交叉轴上的对齐方式。

    • align-items: flex-start:项目在交叉轴起点对齐。
    • align-items: flex-end:项目在交叉轴终点对齐。
    • align-items: center:项目在交叉轴居中对齐。
    • align-items: baseline:项目在基线对齐。
    • align-items: stretch:项目在交叉轴上拉伸以填充整个容器。
  6. align-content:控制多行项目在交叉轴上的对齐方式(仅当存在多行项目时才起作用)。

    • align-content: flex-start:多行项目在交叉轴起点对齐。
    • align-content: flex-end:多行项目在交叉轴终点对齐。
    • align-content: center:多行项目在交叉轴居中对齐。
    • align-content: space-between:多行项目在交叉轴上平均分布,首尾不留空白。
    • align-content: space-around:多行项目在交叉轴上平均分布,首尾留有相等的空白。
  7. flex:控制项目在分配剩余空间时的伸缩能力。

    • flex: none:项目不伸缩,不占用剩余空间。
    • flex: [positive number]:项目按照比例分配剩余空间,数值越大分得越多。
  8. order:控制项目的显示顺序,数值越小越靠前。

  9. align-self:覆盖容器的align-items属性,控制单个项目在交叉轴上的对齐方式。

属性区别

属性 描述 主要取值 主轴 交叉轴
display 定义元素是否为弹性容器 flexinline-flex
flex-direction 指定主轴方向 rowrow-reversecolumncolumn-reverse
flex-wrap 控制项目是否允许自动换行 nowrapwrapwrap-reverse
justify-content 控制项目在主轴上的对齐方式 flex-startflex-endcenterspace-betweenspace-around
align-items 控制项目在交叉轴上的对齐方式 flex-startflex-endcenterbaselinestretch
align-content 控制多行项目在交叉轴上的对齐方式 flex-startflex-endcenterspace-betweenspace-around
flex 控制项目在分配剩余空间时的伸缩能力 none[positive number]
order 控制项目的显示顺序 整数值
align-self 控制单个项目在交叉轴上的对齐方式 autoflex-startflex-endcenterbaselinestretch

flex布局例子

<div class="container">
  <div class="item item1">1</div>
  <div class="item item2">2</div>
  <div class="item item3">3</div>
  <div class="item item4">4</div>
  <div class="item item5">5</div>
</div>
.container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  align-content: space-between;
  height: 300px;
  border: 2px solid #333;
  background-color: #f0f0f0;
}

.item {
  flex: 1;
  width: 100px;
  height: 100px;
  margin: 10px;
  text-align: center;
  line-height: 100px;
  font-size: 20px;
  background-color: #3498db;
  color: #fff;
  border: 2px solid #ccc;
}

.item1 {
  order: 3;
  align-self: flex-end;
}

.item2 {
  order: 2;
  flex: 2;
  background-color: #e74c3c;
}

.item3 {
  order: 1;
  flex: 1;
  background-color: #27ae60;
}

.item4 {
  flex: 0;
  background-color: #f1c40f;
}

.item5 {
  align-self: center;
  background-color: #9b59b6;
}

标签:flex,项目,align,布局,content,主轴,对齐
From: https://www.cnblogs.com/shuangyou99/p/flex-bu-ju.html

相关文章

  • 记录--Vue3基于Grid布局简单实现一个瀑布流组件
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助前言在学习Grid布局之时,我发现其是CSS中的一种强大的布局方案,它将网页划分成一个个网格,可以任意组合不同的网格,做出各种各样的布局,在刷某书和某宝首页时,我们发现其展示方式就是一种瀑布流,是一种流行的网站页面布局......
  • 优雅设计之美:实现Vue应用程序的时尚布局
    前言页面布局是减少代码重复和创建可维护且具有专业外观的应用程序的基本模式。如果使用的是Nuxt,则可以提供开箱即用的优雅解决方案。然而,令人遗憾的是,在Vue中,这些问题并未得到官方文档的解决。经过多次尝试,小编得出了一个运行良好且可扩展而不会令人头疼的架构的模式。下面用一......
  • Slint 中的元素定位 (Positioning) 和布局 (Layout)
    基本逻辑Slint当中进行元素定位的基本逻辑是这样的:所有的可见元素都需要放置在窗口(window)中,每个元素都有x和y属性,这两个属性表示当前元素相对父元素的位置偏移。Slint计算某个元素在整个窗口中的位置时,会按照层级关系,一级一级将这个x和y的值进行累加,最终得到元素......
  • flutter开发应用报RenderFlex children have non-zero flex but incoming height cons
    错误RenderFlexchildrenhavenon-zeroflexbutincomingheightconstraintsareunbounded.错误原因"RenderFlexchildrenhavenon-zeroflexbutincomingheightconstraintsareunbounded."错误通常是因为在使用Flex布局(例如Column、Row或Flex)时,子部件的某些子......
  • Grid 网格布局
    <template><div><!--<divclass="container"><divclass="itemitem1"style="grid-area:2/2/3/4;">1</div><divclass="itemitem2">2</div><divclass=......
  • Flex布局
    1弹性盒子概述1.1概述使用弹性盒子布局,元素可以,拉伸以填充额外的空间,收缩以适应更小的空间。1.2弹性盒子可以解决如下问题元素垂直居中元素间隙的平均分配自动占据剩余空间1.3弹性盒子组成弹性盒子:是一种一维的布局方式,只能按行水平布局或按列垂直布局。弹性盒子......
  • 刘铭诚:11.2美元黄金、期货原油行情走势分析及日内交易策略布局
    昨夜黄金受美元指数上涨导致下跌,低点给到1969.7一线,刘铭诚给出的防守1973-1970区域多单目前拿到1987一线,思路策略精准无误!今日周四,白盘黄金价格还是关注1992以及2000关口阻力,另外4小时布林带中轨与MA30均线粘合承压位置在1990一线,而SAR停损转向指标向下发展至1995位置,日内这两......
  • 永磁电机:布局多元,迎全面崛起未来
    自主创新破壁垒,政策、性能共同助推,迎渗透率全面提升。我国永磁电机发展至今30余年,通过稀土产业打破海外垄断,形成以中国、日本为主的全球永磁电机竞争格局。从驱动因素来看,主要受益于:(1)产品端:永磁电机具有结构简单、运行可靠、质量轻、效率高等优势。尽管期初成本较传统电......
  • armsom: AIM5已经设计完了原理图,正在进行电路布局
    在现代电子工程领域,原理图设计和电路布局是新产品开发的关键步骤之一。它们为电子设备的功能和性能奠定了基础,决定了产品的最终质量和可靠性。ArmSoM已经成功完成了AIM5的原理图设计,目前正在积极进行电路布局的工作,如下为AIM5初步布局示意图,预计11月二十号完成电路布局。 armso......
  • streamlit容器布局
    streamlit容器布局目录streamlit容器布局侧边栏交互sidebar并排布局columns选项卡tabs展开式容器expander透明多元素container单元素empty参考资料侧边栏交互sidebarst.sidebar将交互元素添加至侧边栏#方法1.使用对象表示法st.sidebar.[element_name]#方法2.使用"w......