display:flex布局方式

2023-11-15

2009年,W3C提出了一种新的方案–Flex布局,可以简便、完整、响应式地实现各种页面布局。目前已得到所有现在浏览器的支持。
Flex是Flexible Box的缩写,翻译成中文就是“弹性盒子”,用来为盒装模型提供最大的灵活性。任何一个容器都可以指定为Flex布局。

一、容器属性

1、基本概念

采用Flex布局的元素,被称为Flex容器(flex container),简称“容器”。其所有子元素自动成为容器成员,成为Flex项目(Flex item),简称“项目”。
容器默认存在两根主轴:水平方向主轴(main axis)和垂直方向交叉轴(cross axis),也可叫做纵轴。默认项目按主轴排列。
设置在容器上的属性有6种:

  • flex-direction
  • flex-wrap
  • flex-flow
  • justify-content
  • align-item
  • align-content
    在这里插入图片描述

2、flex-direction

决定主轴的方向(即项目的排列方向)

  • row(默认):主轴水平方向,起点在左端
  • row-reverse:主轴水平方向,起点在右端
  • column:主轴垂直方向,起点在上边沿
  • column-reserve:主轴垂直方向,起点在下边沿
    例如:
.box {
   flex-direction: row | row-reverse | column | column-reverse;
}

在这里插入图片描述

3、flex-wrap

flex-wrap属性,定义换行情况
nowrap:不换行
wrap:换行
wrap-reverse:换行,第一行在下方。
例如:

.box{
   flex-wrap: nowrap | wrap | wrap-reverse;
}

在这里插入图片描述

(1)、nowrap

不换行
在这里插入图片描述

(2)、wrap

换行
在这里插入图片描述

(3)、wrap-reverse

换行,第一行在下方
在这里插入图片描述

4、 flex-flow

flex-direction和flex-wrap的简写,默认row nowrap

.box{
    flex-flow: <flex-direction> || <flex-wrap>;
}

5、justify-content

定义项目在主轴上的对齐方式
例如:

.box {
   justify-content: start | end | flex-start | flex-end | center | left | right | space-between | space-around | space-evenly | stretch | safe | unsafe | baseline | first baseline | last baseline;
}

(1)、flex-start

(默认值),左对齐
在这里插入图片描述

(2)、flex-end

右对齐
在这里插入图片描述

(3)、center

居中
在这里插入图片描述

(4)、space-between

两端对齐,项目之间间隔相等
在这里插入图片描述

(5)、space-around

每个项目两侧的间隔相等,即项目之间的间隔比项目与边框的间隔大一倍
在这里插入图片描述

6、align-items

定义在交叉轴上的对齐方式

.box{
    align-items: flex-start | flex-end | center | baseline | stretch;
}

(1)、flex-start

起点对齐
在这里插入图片描述

(2)、flex-end

终点对齐
在这里插入图片描述

(3)、center

中点对齐
在这里插入图片描述

(4)、baseline

项目的第一行文字的基线对齐
在这里插入图片描述

(5)、stretch

如果项目未设置高度或设为auto,将占满整个容器的高度
在这里插入图片描述

7、align-content

定义多根轴线的对齐方式

.box{
    align-content: flex-start | flex-end | center | space-between | space-around | stretch;
}

(1)、flex-start

与交叉轴的起点对齐
在这里插入图片描述

(2)、flex-end

与交叉轴的终点对齐
在这里插入图片描述

(3)、center

与交叉轴的中点对齐
在这里插入图片描述

(4)、pace-between

与交叉轴的两端对齐,轴线之间的间隔平均分布
在这里插入图片描述

(5)、space-around

每根轴线两侧的间隔相等,即轴线之间的间隔比轴线与边框的间隔大一倍
在这里插入图片描述

(6)、stretch

轴线占满整个交叉轴

二、项目属性

设置在项目上的属性也有6个

  • order
  • flex-grow
  • flex-shrink
  • flex-basis
  • flex
  • align-self

1、order

数值越小,排列越靠前,默认为0,可以是负值

.item {
    order: <整数>;
}

在这里插入图片描述

2、lex-grow

定义项目的放大比例
默认值为0,即如果空间有剩余,也不放大。
可以是小数,按比例占据剩余空间。

.item{
    flex-grow: <数字>;
}

在这里插入图片描述
若所有项目的flex-grow的数值都相同,则等分剩余空间
在这里插入图片描述
若果有一个项目flex-grow为2,其余都为1,则该项目占据剩余空间是其余的2倍
在这里插入图片描述

3、flex-shrink

定义项目的缩小比例
默认值都为1,即如果空间不足将等比例缩小。
如果有一个项目的值为0,其他项目为1,当空间不足时,该项目不缩小。
负值对该属性无效,容器不应该设置flex-wrap。

.item{
    flex-shrink: <非负整数>;
}

如果一个项目设置flex-shrink为0;而其他项目都为1,则空间不足时,该项目不缩小。
在这里插入图片描述
如果所有项目都为0,则当空间不足时,项目撑破容器而溢出。
在这里插入图片描述
如果设置项目的flex-shrink不为0的非负数效果同设置为1
在这里插入图片描述

4、flex-basis

定义在分配多余空间之前,项目占据的主轴空间。
默认值为auto,浏览器根据此属性检查主轴是否有多余空间。

.item{
    flex-basis:  <auto或者px>;
}

注意设置的flex-basis是分配多余空间之前项目占据的主轴空间,如果空间不足则默认情况下该项目也会缩小。
在这里插入图片描述
设置flex-basis为350px,但空间充足
在这里插入图片描述

5、flex

是flex-grow,flex-shrink和flex-basis的简写

.item{
    flex: none | [<flex-grow><flex-shrink><flex-basis>];
}

可以用 flex:auto; 代替 flex: 1 1 auto;;
可以用 flex: none;代替 flex: 0 0 auto;
align-self属性:允许单个项目与其他项目有不一样的对齐方式
默认值为auto,表示继承父元素的align-items属性,并可以覆盖align-items属性。

备注:以上内容来源于大神

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

display:flex布局方式 的相关文章

  • Shiny 中的模态对话框:可以调整宽度但不能调整高度

    在我的 Shiny 应用程序中 我有几个来自闪亮BS 包的模式窗口 我可以像这样调整这些模式窗口的宽度 tags head tags style HTML modal lg width 1200px abs 1 background col
  • CSS - 让div继承高度

    我正在尝试制作一个带有圆角的盒子 其中 div 的高度和宽度取决于内容 因此它会自动调整 您可以在此处查看示例 http pastehtml com view 1duizyf html http pastehtml com view 1du
  • 如何减少 VS Code 中选项卡手柄的高度?

    在 的帮助下this https github com be5invis vscode custom css扩展 您可以更改 VS Code 的样式 我想将 filetabs 的高度减少到 20px 我正在使用这样的东西 editor gr
  • 如何正确使用 z-index?

    请在此处查看此页面 http www blakearchive org blake public exhibits canterburySpecial html http www blakearchive org blake public
  • 如何使用固定宽度的卡片制作卡片组?

    我想做一个响应式的卡牌 https getbootstrap com docs 4 0 components card card decks使用引导4固定宽度卡片 https getbootstrap com docs 4 0 compon
  • 如何为平板电脑和 iPhone 制作样式表

    我认为样式表上的链接目标将使我的 css 文件仅在平板电脑或 iPhone 上加载时加载 但我试图隐藏的元素仍然存在 我目前正在使用 media handheld 有太多的移动设备型号需要为其编写样式表 你最好根据以下内容调整你的CSS屏幕
  • Bootstrap:列表内联项目符号?

    有人知道如何在 Bootstrap 3 中水平列表中的元素之间添加项目符号 分隔符吗 ul class list inline li Author Michal li li Modified 17 08 2014 li li Comment
  • 强制应用媒体查询

    我有这个 html 和 css 代码 div class wrapper div class a div div class b div div media all and max width 400px max height 300px
  • 如何使div垂直滚动[重复]

    这个问题在这里已经有答案了 我用图片元素列表做了一个水平滚动 但是当我垂直滚动它时我失败了 我的水平滚动条代码是 div class pic container div class pic row div style width 100 a
  • 如何在 CSS 中选择纯 HTML 文本?

    你们有人知道如何在 CSS 中选择纯 HTML 文本吗 我有以下结构 div p class caption caption1 p div class tabs div class moving bg div p class text ta
  • Ace Editor 自动完成和多种语言

    如何为 Ace 编辑器创建自动完成功能以及如何突出显示 php 中的 html javascript 和 csshttp ace ajax org http ace ajax org
  • 如何使弹出窗口溢出:在溢出内可见:自动上下文

    我有一个 div 列表 如果超过父框 overflow x 应该滚动 并且在悬停时 我想看到一个弹出窗口 我的问题是 如果我将鼠标悬停在任何子 div 上 弹出窗口将被考虑用于溢出计算 但我只想让它在所有内容之上可见 而不是使其扩展滚动区域
  • IE8 - 隐藏 div 内的表单,返回键不再起作用

    我有一个登录表单 位于带有 display none 的 div 中 然后我使用 jquery 淡入表单 但 Enter Return 键不再提交表单 如果我将显示更改为阻止 则效果很好 此问题仅存在于 IE 中 有任何想法吗 这是一个不起
  • 使用 flex 将项目与底部对齐

    我正在尝试使用 flex 将父级内部的项目与父级底部对齐 但由于某种原因它不起作用 我究竟做错了什么 login border 1px solid red height 50px display flex login border radi
  • 移动设备中的 CSS 响应式设计不适用于 uc 浏览器和 Opera Mini [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 UC 和 Opera Min 浏览器上的响应式网站无法正常工作 我们使用媒体查询进行响应式设计 我搜索了一下 发现了一些
  • 固定 Div 与静态 div 的滚动条重叠

    我无法按照我想要的方式设计布局 我有一个内容区 content 您可以在示例图像中看到的灰色 里面有一个黄色元素 这个div是position static height 100 现在我有一个 left paneldiv 也 与positi
  • Ionic 2:隐藏滚动条并继续滚动

    我只想hide滚动条 在需要滚动的页面中 我正在使用离子2 My 不工作解决方案 scroll content bar overflow hidden 此解决方案隐藏滚动条but使屏幕不可滚动 首先 改变浏览器的自然行为和预期的用户体验是一
  • CSS 边框样式 INSET 或 GROOVE 看起来与 IE9 FF4 或 Safari5 或 Chrome2 非常不同

    抱歉 我是个白痴 但是当我尝试获得某种凹槽效果或插入效果作为边框样式时 我从不同的浏览器中得到了一些非常非常大的视觉结果 使用时 border 5px groove A00 or border 5px inset A00 Firefox 3
  • Firefox 忽略 CSS 中的最小高度

    由于某些原因 最小高度在 Firefox 上不起作用 我尝试在 body 上设置 min height 但 Firefox 完全忽略了它 由于我的页面是动态的 我不能只将高度设置为 100 我应该怎么办 body border 1px so
  • 全高全宽 CSS 布局

    我正在寻找一种方法来创建具有 5 个区域的纯 CSS 无 JavaScript 布局 如下所示 H A B C F

随机推荐

  • C++关键字 noexcept

    1 关键字noexcept 从C 11开始 我们能看到很多代码当中都有关键字noexcept 比如下面就是std initializer list的默认构造函数 其中使用了noexcept constexpr initializer lis
  • 使用JAVA反射的利与弊

    b color olive size large 在Java的20周年的纪念日的日子里 让我们来重新温习下Java里面的高级知识 Java肯定希望大家了解她 要不然你跟她天天相濡以沫了这么长时间 让她知道你竟然不了解她 不在乎她 那么她该有
  • wsus服务器搭建自动更新

    WSUS服务器搭建 第一次写博客还有点小激动 没有啥过硬的技术手段 简单记录一下日常操作 整一个Windows 2012 Server镜像文件 简单说一下为啥我找的是win 2012 Server吧 微软好像发布了个停止对Windows S
  • SearchView详细使用

    Android SearchView详细使用 布局
  • 在Fedora16中安装Qt

    首先 在http www trolltech com download上下载linux下的qt源文件 我下载时最新版是 qt everywhere opensource src 4 7 4 tar gz 将该文件放到某个目录下 进行解压缩
  • conda常用命令汇总

    conda常用命令汇总 1 创建一个虚拟环境 conda create name pytorch gpu python 3 8 创建一个名为pytorch gpu 可自定义 的虚拟环境 3 8指的是所安装python版本 2 进入一个已经存
  • 【Linux】进程控制1-进程创建、进程终止

    文章目录 进程创建 fork函数 用户空间 内核空间 写实拷贝 fork创建子进程时的一些特性 守护进程 进程终止 正常终止 异常终止 exit和 exit的区别 缓冲方式 进程创建 fork函数 调用fork函数让正在运行的进程创建出来一
  • python出现__init__() got an unexpected keyword argument ‘size‘错误解决!!!

    代码运行出现 init got an unexpected keyword argument size 错误 根据官方文档 将size改为vector size
  • 【git】error: failed to push some refs to ‘https://github.com/biluko/ZJGSU-Exams-in-master-two.git‘

    我在提交代码的时候 遇到了下面的错误 To https github com biluko ZJGSU Exams in master two git rejected master gt master non fast forward e
  • webpack5从入门到精通

    前言 webpack是什么 摘自官网的一段话 webpack 是一个用于现代 JavaScript 应用程序的 静态模块打包工具 当 webpack 处理应用程序时 它会在内部从一个或多个入口点构建一个 依赖图 dependency gra
  • IME SoftInputWindow窗口添加

    IME SoftInputWindow窗口添加 1 时序图 2 InputMethodService onCreate 3 Dialog添加到WMS android12 release1 1 时序图 输入法应用继承InputMethodSe
  • matplotlib绘制图表,设置刻度标签、最大最小刻度、字体大小,label位置、刻度轴箭头等

    matplotlib绘制图表 设置刻度标签 最大最小刻度 字体大小 label位置 刻度轴箭头等 1 效果图 2 源码 2 1 仅使用普通轴ax fontdict 源码 2 2 使用mpl设置全局字体 ax fontdict源码 写这篇博客
  • VUE知识(三)计算属性、监听属性、动画

    文章目录 一 计算属性 一 计算属性 computed 1 目标 2 语法 3 特点 4 注意 二 计算属性 缓存 1 目标 2 使用场景 3 优势 三 计算属性 完整写法 1 目标 2 语法 4 使用场景 二 监听属性 一 监听属性 wa
  • [LeetCode]栈,队列相关题目(C语言实现)

    文章目录 LeetCode20 有效的括号 LeetCode225 用队列实现栈 LeetCode232 用栈实现队列 LeetCode622 设计循环队列 LeetCode20 有效的括号 题目 给定一个只包括 的字符串 s 判断字符串是
  • 使用stream流对List<Map>分组求和

    使用stream流对List分组求和 public class Test2 public static void main String args List
  • linux 非root进程,Linux查看非root运行的进程

    Linux查看非root运行的进程 email protected ps U root u root N PID TTY TIME CMD 663 00 00 00 dbus daemon 713 00 00 00 rsyslogd 730
  • 性能优化:Excel导入10w数据

    需求说明 excel报表导出10w 数据 在我们的进出口贸易系统可能由于之前导入的数据量并不多没有对效率有过高的追求 但是到了二次开发版本 我预估导入时Excel 行数会是 10w 级别 而往数据库插入的数据量是大于 3n 的 也就是说 1
  • 5-2 有监督特征抽取

    文章目录 5 2 有监督特征抽取 基础知识 项目案例 动手练习 5 2 有监督特征抽取 请参考 数据准备和特征工程 中的相关章节 调试如下代码 基础知识 from sklearn datasets import make classific
  • 【绝㊙️】三年开发内功心得

    经典嵌套if else问题 这个也是老生常谈问题了 不管哪里都能看到 那如何解决 方法一 重要 如果逻辑分支过多 即使你不解决嵌套if slse 至少也要把每个 if的 里的逻辑抽到一个独立的方法或者工具类或者策略模式类 保证 里只有一行或
  • display:flex布局方式

    2009年 W3C提出了一种新的方案 Flex布局 可以简便 完整 响应式地实现各种页面布局 目前已得到所有现在浏览器的支持 Flex是Flexible Box的缩写 翻译成中文就是 弹性盒子 用来为盒装模型提供最大的灵活性 任何一个容器都