15_弹性盒布局

2023-10-27

一、弹性盒子的基本概念

弹性盒属性的使用

  1. 概念:在父级元素设置设置弹性盒属性(容器),所有的子级元素会在父级容器的轴向上排列(项目)

  2. 作用:控制所有的子级元素在父级元素上的排列位置

  3. 如何形成弹性盒

    • 属性:display(显示方式)
    • 属性值:flex(弹性布局)
  4. 形成弹性盒之后的特点(主轴和侧轴)

    • 父级容器设置了弹性盒,会有两个轴向X和Y轴,默认是x轴为主轴,所有子级的元紊都会沿着x轴进行排列
    • 主轴和侧轴是相对的关系
      • 当x轴是主轴的时候,Y轴对应就是侧轴
      • 当Y轴是主轴的时候,x轴对应就是侧轴
    • 在弹性盒中不考虑元素类型,所有的子级元素都可以直接设置宽高大小
    • 设置图片居中:给图片设置margin: auto
  5. 弹性盒的使用注意点

    • 弹性盒兼容只能在高版本浏览器中使用
    • 弹性盒不会脱离文档流,不会破坏网页布局,不存在高度塌陷的问题
    • 盒模型和定位属性是可以正常使用的,但是浮动不可以用(暂且忘记)

二、设置在父级元素上的属性

可以设置在父级元素上的属性(控制所有的子级元素的位置)

一:改变主轴的排列方向(默认主轴是x轴方向)

  1. 属性:flex-direction

  2. 属性值

    • row 水平方向x轴,侧轴Y轴
    • column 垂直方向Y轴,侧轴x轴

二:设置主轴的对齐方式

  1. 属性:justify-content

  2. 属性值

    • flex-start 主轴开始位置排列
    • flex-end 主轴结束位置排列
    • center 主轴的居中位置
    • space-between 两端对齐,其余空间自动分配
    • space-around 元素的左右空间分配是相等的
    • space-evenly 所有的空间都是自动分配的

三:设置侧轴的对齐方式

  1. 属性:align-items

  2. 属性值

    • flex-start 侧轴的开始位置排列
    • flex-end 侧轴的结束位置排列
    • center 居中位置显示
    • baseline 基线对齐默认和flex-start的效果是一样的(了解)
    • stretch 拉伸(了解)

四:控制子级元素换行显示(弹性盒子级超出父级的宽度默认是进行挤压的不会往下掉)

  1. 属性:flex-wrap

  2. 属性值

    • no-wrap 默认值 不换行 默认进行挤压的
    • wrap 换行

五:控制行与行之间的间距

  1. 属性:align-content

  2. 属性值

    • flex-start 主轴开始位置排列(常用)
    • flex-end 主轴结束位置排列
    • center 主轴的居中位置
    • space-between 两端对齐,其余空间自动分配
    • space-around 元素的左右空间分配是相等的
    • space-evenly 所有的空间都是自动分配的

三、设置在子级元素上的属性

设置在子级元素上的属性(控制单个子级在弹性盒中的位置)

一:控制元素的显示顺序

  1. 属性:order
  2. 属性值:默认为0 数字越大越往后显示

二:控制单个元素在侧轴上的对齐方式

  1. 属性:align-self
  2. 属性值
    • flex-start/end/center 开始/结束/中间
    • baseline/stretch 基线对齐/拉伸

四、flex为1的情况

移动端布局:头部、底部、中间区域(跟随用户的手机屏幕大小进行改变)
一、flex:1的情况

  1. 属性:flex 表示可以将弹性盒区域分为多少份
  2. 属性值:number 1、2、3、4、5 将一个区域分为几份进行等分
  3. 常用的属性值:1 表示占据主轴上剩下的所有空间

五、flex为1的推算过程

一:flex作为属性出现的时候表示占据主轴上剩下的空间,由以下三个属性复合而成

  1. 相对于其他元素进行扩展的量

    • 属性:flex-grow
    • 属性值:
    • 0 空间是默认的
    • 1 表示占据主轴上剩下的空间
  2. 相对于其他元素进行收缩的量

    • 属性:flex-shrink
    • 属性值
      • 0 改变主轴的宽高不会被挤压
      • 1 改变主轴的宽高会被挤压
  3. 项目的宽度(width作用一样)

    • 属性:flex-basis
    • 属性值:0~100%/auto
  4. 三个属性推算出flex:1的效果

    • 默认值:0 1 auto
    • 常用值:1 1 0% => 简写成flex:1

六、多列布局

<style>
        section{
            width: 1000px;
            height: 500px;
            border: 1px solid #000;
            margin: 100px auto;
            /* 当前的容器分为多少列 */
            column-count: 3;
            /* 当前列的宽度 */
            /* column-width: 200px; */
            /* 列和列之间的间距 */
            column-gap: 50px;
            /* 列的边框 */
            column-rule: 5px solid #000
        }
        h3{
            column-span: all;
            text-align: center;
        }
    </style>

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

15_弹性盒布局 的相关文章

  • 迭代相同的表单元素

    如果一个表单重复具有相同的标签 如何在 JavaScript 中获取它的值
  • 是否可以设置输入文本值的样式?

    我想知道是否可以设置输入框值的样式 such http jsfiddle net aCwhY as
  • 将图像编码为base64有什么效果?

    如果我将图像 jpg 或 png 转换为 base64 那么它会更大 还是具有相同的大小 会大多少呢 是否建议在我的网站上使用 Base64 编码的图像 大约会大 37 非常粗略地说 Base64 编码的二进制数据的最终大小等于原始数据大小
  • 无法在jspdf中加载多个图像

    我正在尝试加载动态生成的多个图像 我想将这些图像转换为 PDF 格式 HTML 代码如下
  • 重新加载更新的 javascript> 代码而不完全重新加载 html 页面

    我正在开发一个单页 Web 应用程序 它具有许多不同的功能和形式 当开发一个深度 我的意思是主页上没有的 功能时 我会经历这个循环 开发代码 编辑类和函数 刷新整个页面 一路点击 直到到达我需要测试的部分 有时加起来大约一分钟 测试新代码
  • Beautifulsoup findAll 是如何工作的

    我注意到一些奇怪的行为findAll的方法 gt gt gt htmls p class slytherin p p class gryffindor p gt gt gt soup BeautifulSoup htmls html par
  • Bootstrap 5 是否删除了行之间的间距?

    我开始使用 bootstrap 5 并注意到行之间没有空格 我们是否必须明确使用spacing https getbootstrap com docs 5 0 utilities spacing 实用程序喜欢mb 3 or mb 2等等试图
  • 如何在日期选择器中设置不在当前月份的单元格的样式

    我目前正在为我的 JavaFX 应用程序制作注册表 问题是 当日期选择器中的单元格不在页面的月份上时 我想让该单元格变灰 让我们看看我当前的日期选择器 我的日期选择器 正如您所看到的 我希望下个月的日期 27 日 28 日 30 日以及 1
  • 如何在bootstrap中默认隐藏侧边栏?

    我在这里有一个很好的参考 作为 Bootstrap 在设计 Web 表单应用程序时的侧边栏 http startbootstrap com template overviews simple sidebar http startbootst
  • 为什么网格项目不居中?

    由于某种原因 两个输入范围使网格中的前两项偏离中心 我假设这是因为它们的影子 DOM 样式 事实真的是这样吗 有谁知道为什么范围使项目 A 和 B 偏离中心 这是一个代码笔 https codepen io tOkyO1 pen QOeKL
  • 如何强制折断不可折断的字符串?

    我有一个根据数据库中包含的数据生成的 HTML 页面 数据库有时包含浏览器无法分解的长字符串 因为这些字符串不包含可分解的字符 空格 点 逗号等 有没有办法使用 html css 甚至 javascript 来解决这个问题 看到这个link
  • 在按钮之间添加空间?

    嗨 我这里有一个代码 除了一件事之外 一切都很完美 代码中每个按钮之间没有空格 我尝试过 margin 但不幸的是它是一个无序列表 所以我有点困惑 我将添加或替换什么以在两个按钮之间留出空间 帮助
  • 如何在php中使用一张图像绘制形状

    我需要使用图像的一部分来创建帧图像 例如 用户将从后端上传图像片段 现在我需要根据前端用户的要求在前端创建一个框架 用户将选择框架的高度和宽度 然后他将选择该图像片段 如下所示 我没有办法做到这一点 我尝试通过 css 和 html can
  • 用于渲染 html 子集的 Django templatetag

    我有一些 html 在本例中是通过 TinyMCE 创建的 我想将其添加到页面中 但是 出于安全原因 我不想只打印用户输入的所有内容 有谁知道模板标签 最好是过滤器 只允许呈现 html 的安全子集 我意识到 Markdown 和其他人就是
  • 将输入中每个单词的第一个字符设为大写

    我想知道如何在输入区域自动生成单词的第一个字符 目前我的代码是 Name
  • 使用 CSS 覆盖透明 div 中的不透明文本

    我试图使透明 div 内的文本没有不透明度 也就是全黑 div style background 3cc p style background 000 This text should be all black p div 只用 CSS 就
  • 如何为 TBODY 应用垂直滚动条

    我的表中有 4 列和 5 行数据 我必须为 TBODY 应用垂直滚动条 TH 标题内容不应滚动 我对场景进行了编码 并且在我将滚动类应用于 TBODY 之前它工作正常 一旦我将滚动样式类应用于 TBODY 它就会破坏之前的对齐方式 任何人都
  • 在webview android中加载本地html文件

    我正在尝试在 android 的 webview 中加载 html 文件的内容 但是 它给了我 网页不可用错误 如果我尝试使用谷歌或雅虎等网站 它们就会起作用 html文件位于src gt main gt assests gt index
  • AngularJS 在指令运行之前通过 AJAX 检索数据

    我正在使用 AngularUIuiMap http angular ui github com directives map实例化谷歌地图的指令 uiMap 指令非常适合处理硬编码数据 mapOptions and myMarkers 但是
  • 使用 VBA 通过 Access 导航网页/操作 IE

    你好 StackOverflow 社区 我有一个关于使用 Access VBA 操作 IE 的问题 本质上 我正在尝试编写代码 使用 IE 打开特定网页 在该页面中搜索特定链接 目标链接的名称将取决于用户的情况 通过以编程方式单击该链接导航

随机推荐

  • SparkCore

    第1章 RDD概述 1 1 什么是RDD RDD Resilient Distributed Dataset 叫做弹性分布式数据集 是Spark中最基本的数据抽象 代码中是一个抽象类 它代表一个弹性的 不可变 可分区 里面的元素可并行计算的
  • Linux环境开发工具(2)gdb调试工具+Makefile自动化构建工具

    Linux环境开发工具 2 gdb调试工具 Makefile自动化构建工具 Linux编译器 gcc g 使用 程序编译过程 重要概念 函数库 静态库与动态库 gcc选项 gdb使用 具体命令 Makefile 工具 使用过程 项目清理 关
  • 数字藏品是什么?

    有人说 任何东西都可以成为数字藏品 数字藏品是指通过区块链技术生成具有独特身份凭证的数字作品或艺术品 可以通过数字图片 音乐 视频 3D模型 电子门票 数字纪念品等形式进行展示 阿里巴巴 腾讯 京东 百度等互联网公司都推出了数字藏品平台或产
  • PMD使用与代码质量

    最近项目组要求使用PMD工具 通过自定义规则来检查代码 接录部分文档内容如下 PMD介绍 PMD是一种开源分析Java代码错误的工具 与其他分析工具不同的是 PMD通过静态分析获知代码错误 也就是说 在不运行Java程序的情况下报告错误 P
  • python100以内所有偶数-Python3基础 list 推导式 生成100以内的偶数列表

    Python 3 7 0 OS Ubuntu 18 04 1 LTS IDE PyCharm 2018 2 4 Conda 4 5 11 typesetting Markdown code coder Ubuntu source activ
  • Ubuntu系统预处理、编译、汇编、链接指令

    创建并编辑 c程序文件 gedit 1 c 以1 c为例 在编辑器中输入如下代码并保存 include
  • 基础学习5-centos7调整磁盘大小

    1 建立并查看物理磁盘 fdisk l dev sdb Disk dev sdb 10 7 GB 10737418240 bytes 20971520 sectors Units sectors of 1 512 512 bytes Sec
  • 静态Web服务器-命令行启动动态绑定端口号

    学习目标 能够写出获取终端命令行参数动态绑定端口号的web服务器程序 1 开发命令行启动动态绑定端口号的静态web服务器 实现步骤 获取执行python程序的终端命令行参数 判断参数的类型 设置端口号必须是整型 给Web服务器类的初始化方法
  • 2020-02-26

    请教大家一个AD的问题困扰多少的问题 AD10原理图复制一个器件 比如R1 正常复制粘贴还是R1 通过SHIFT拖动是R2 那如果我原理图中原本就有R2了 还是会有重复的现象 怎样复制粘贴会生成一个原理图中没有的位号呢
  • Splunk HEC 取发送数据 服务器的hostname

    1 背景 最近Client 发送数据到 Splunk HEC 发现对方hostname 没有取到 都是HEC 的VIP 地址 这个就不能发现是那个host 发过来的数据 下面查了下文档 发现Splunk 是可以跟踪发送数据的host 的 主
  • 【计算机网络】UDP协议

    目录 1 UDP协议头部格式 2 UDP协议的特点 2 1 无连接 2 2 不可靠 2 3 面向数据报 2 4 有接收缓冲区 没有发送缓冲区 2 5 大小受限 3 基于UDP的应用层协议 4 UDP协议与TCP协议对比 5 经典面试题 1
  • 基于.NET的企业级软件开发

    企业级开发最好基于一些成熟的框架 从而将主要精力集中到领域模型的设计上 1 UI与业务逻辑的隔离 在web领域可以采用ASP NET MVC框架 2 业务逻辑与DB的隔离 可以采用Entity Framework框架 3 业务逻辑中涉及工作
  • 毕业设计-基于机器视觉的水表读数智能识别系统-OpenCV

    目录 前言 课题背景和意义 实现技术思路 一 系统总体方案设计 二 图像预处理的研究与实现 三 识别区域定位及字符分割的研究与实现 实现效果图样例 最后 前言 大四是整个大学期间最忙碌的时光 一边要忙着备考或实习为毕业后面临的就业升学做准备
  • 分治算法(Java)

    想必大家通过算法的名字就已经明白了 这个算法的过程 一个是分 一个是治 那么我为什么要使用这种算法呢 因为当前的问题是我们使用现有的方法是解决不了的 所以我们需要将一个复杂的问题分成两个或者是更多个相同或相似的子问题 然后再一我们已有的方法
  • 【detectron2】注册、训练、推断自己的数据集

    一 注册自己的数据集 使用detectron2训练自己的数据集 第一步要注册自己的数据集 首先保证自己的数据集标注是coco格式 就可以使用load coco json加载自己的数据集并转化为detectron2的专有数据格式 使用Data
  • C++中关于枚举的使用(enum)

    首先加入头文件 include
  • mysql中字段长度到底是字符数还是字节数?

    这个问题 困惑了很多新学者 今天就给大家来测试测试 首先来给个定长的字段类型 因为这样好看效果 超出的会被截取 create table test id int 10 not null auto increment test name ch
  • 在VMware ESXi服务器上配置NAT上网

    文章目录 前言 一 vSphere Client上操作 1 配置网络环境 2 创建软件路由 3 虚拟机设置 总结 相关文章 前言 在使用VMware workstation的时候 我们经常以NAT的方式配置虚拟机的网络 与桥接方式相比 这样
  • spring之application.yml配置

    server port 18080 context path netty logging config classpath logback xml 文件上传下载大小 速度配置 spring http multipart max file s
  • 15_弹性盒布局

    一 弹性盒子的基本概念 弹性盒属性的使用 概念 在父级元素设置设置弹性盒属性 容器 所有的子级元素会在父级容器的轴向上排列 项目 作用 控制所有的子级元素在父级元素上的排列位置 如何形成弹性盒 属性 display 显示方式 属性值 fle