首页 > 其他分享 >flex布局

flex布局

时间:2023-08-20 21:55:05浏览次数:40  
标签:flex 子项 align 布局 排列 属性

flex布局原理

  • flex 是 flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性,任何一个容器都可以指定为 flex 布局。

  • 当我们为父盒子设为 flex 布局以后,子元素的 float、clear 和 vertical-align 属性将失效。

  • flex布局又叫伸缩布局 、弹性布局 、伸缩盒布局 、弹性盒布局

  • 采用 Flex 布局的元素,称为 Flex 容器(flexcontainer),简称"容器"。它的所有子元素自动成为容器成员,称为 Flex 项目(flex item),简称"项目"。

总结:就是通过给父盒子添加flex属性,来控制子盒子的位置和排列方式

3.0 父项常见属性

  • flex-direction:设置主轴的方向

  • justify-content:设置主轴上的子元素排列方式

  • flex-wrap:设置子元素是否换行

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

  • align-items:设置侧轴上的子元素排列方式(单行)

  • flex-flow:复合属性,相当于同时设置了 flex-direction 和 flex-wrap

3.1 flex-direction设置主轴的方向

  • 在 flex 布局中,是分为主轴和侧轴两个方向,同样的叫法有 : 行和列、x 轴和y 轴

  • 默认主轴方向就是 x 轴方向,水平向右

  • 默认侧轴方向就是 y 轴方向,水平向下

 

  • 注意: 主轴和侧轴是会变化的,就看 flex-direction 设置谁为主轴,剩下的就是侧轴。而我们的子元素是跟着主轴来排列的

     

     

3.2 justify-content 设置主轴上的子元素排列方式

 

3.3 flex-wrap设置是否换行

  • 默认情况下,项目都排在一条线(又称”轴线”)上。flex-wrap属性定义,flex布局中默认是不换行的。

  • nowrap 不换行

  • wrap 换行

3.4 align-items 设置侧轴上的子元素排列方式(单行 )

  • 该属性是控制子项在侧轴(默认是y轴)上的排列方式 在子项为单项(单行)的时候使用

  • flex-start 从头部开始

  • flex-end 从尾部开始

  • center 居中显示

  • stretch 拉伸

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

设置子项在侧轴上的排列方式 并且只能用于子项出现 换行 的情况(多行),在单行下是没有效果的。

 

 

3.6 align-content 和align-items区别

  • align-items 适用于单行情况下, 只有上对齐、下对齐、居中和 拉伸

  • align-content适应于换行(多行)的情况下(单行情况下无效), 可以设置 上对齐、下对齐、居中、拉伸以及平均分配剩余空间等属性值。

  • 总结就是单行找align-items 多行找 align-content

3.7 flex-flow 属性是 flex-direction 和 flex-wrap 属性的复合属性

flex-flow:row wrap;

4.0 flex布局子项常见属性

  • flex子项目占的份数

  • align-self控制子项自己在侧轴的排列方式

  • order属性定义子项的排列顺序(前后顺序)

4.1 flex 属性

flex 属性定义子项目分配剩余空间,用flex来表示占多少份数。

.item {
  flex: <number>; /* 默认值 0 */
}

4.2 align-self控制子项自己在侧轴上的排列方式

align-self 属性允许单个项目有与其他项目不一样的对齐方式,可覆盖 align-items 属性。

默认值为 auto,表示继承父元素的 align-items 属性,如果没有父元素,则等同于 stretch。

span:nth-child(2) {
    /* 设置自己在侧轴上的排列方式 */
    align-self: flex-end;
}

4.3 order 属性定义项目的排列顺序

数值越小,排列越靠前,默认为0。

注意:和 z-index 不一样。

.item {
  order: <number>;
}

 

 

 

 

 

 

标签:flex,子项,align,布局,排列,属性
From: https://www.cnblogs.com/ixtao/p/17644699.html

相关文章

  • Flutter的布局方式有哪些
     1)常用布局1、Row:行布局,将子控件水平排列。2、Column:列布局,将子控件垂直排列。3、Stack:层叠布局,将子控件叠加显示。4、Expanded:扩展布局,占据剩余空间。5、Flexible:灵活布局,根据子控件大小分配空间。6、SizedBox:固定尺寸布局,设置宽高。7、Positioned:绝对定位布局,通过设置相......
  • tk的一个布局demo
    效果代码importtkinterastkfromtkinterimportscrolledtextimportrequestsdefQ_A(data):headers={'origin':'https://chat2.jinshutuan.com','referer':'https://chat2.jinshutuan.com/&......
  • 张正友的相机标定论文Flexible camera calibration by viewing a plane from unknown
    张正友的相机标定论文Flexiblecameracalibrationbyviewingaplanefromunknownorientations的翻译:翻译的pdf版本为:http://pan.baidu.com/s/1pKshsPP翻译搜索复制......
  • 现代CSS布局技术:Flexbox和Grid的使用指南和最佳实践
    在现代Web开发中,CSS布局技术变得越来越重要。Flexbox和Grid是两种常用的CSS布局技术,它们可以帮助我们创建灵活、可维护的布局。Flexbox布局Flexbox是一种基于弹性盒子模型的布局技术,它可以让我们更加容易地创建水平或垂直方向上的布局。以下是Flexbox的常见属性:容器属性disp......
  • Flexsim项目:MC公司下游仓库管理仿真实验
    完整项目下载:下载链接1问题与概念模型描述1.1问题描述本次管理业务流程是以德国MC公司为研究对象,主要研究该公司的下游成品仓库管理。德国MC公司创立于1961年,公司创立支出就明确以保护、维护、养护和修复混凝土为他们的开发、生产目标,经过公司的不懈努力,MC公司已是当今世界......
  • 实现两栏布局的第二种方式
     目录前言导语 代码部分运行结果前言我是歌谣我有个兄弟巅峰的时候排名c站总榜19叫前端小歌谣曾经我花了三年的时间创作了他现在我要用五年的时间超越他今天又是接近兄弟的一天人生难免坎坷大不了从头再来歌谣的意志是永恒的放弃很容易但是坚持一定很酷导语实现两栏布......
  • 实现两栏布局的第三种方式
     目录前言导语 代码部分运行结果前言我是歌谣我有个兄弟巅峰的时候排名c站总榜19叫前端小歌谣曾经我花了三年的时间创作了他现在我要用五年的时间超越他今天又是接近兄弟的一天人生难免坎坷大不了从头再来歌谣的意志是永恒的放弃很容易但是坚持一定很酷导语实现两栏布......
  • 前端页面常见的布局方式有以下几种
    前端页面常见的布局方式有以下几种1、文档流--内联元素从左往右排列,块级元素从上往下排列。2、float(浮动)布局3、position(定位)布局4、displayinline-block(行向)布局5、margin布局6、display:flex弹性布局7、display:grid栅格布局1、文档流(正常流,也叫文档流)内联元......
  • 【华秋干货铺】DDR电路的PCB布局布线要求
    上期和大家聊的电源PCB设计的重要性,那本篇内容小编则给大家讲讲存储器的PCB设计建议,同样还是以大家最为熟悉的RK3588为例,详细介绍一下DDR模块电路的PCB设计要如何布局布线。由于RK3588DDR接口速率最高达4266Mbps,PCB设计难度大,所以强烈建议使用瑞芯微原厂提供的DDR模板和对应的DD......
  • java:使用flexmark-java 实现 CommonMark(规范 0.28)解析
    文档https://github.com/vsch/flexmark-java依赖Java8<dependency><groupId>com.vladsch.flexmark</groupId><artifactId>flexmark-all</artifactId><version>0.62.2</version></dependency>Java9+&l......