Flexbox 弹性盒子布局

news2024/12/23 14:59:35

 Flexbox,全称弹性盒子布局,提供更精细的控制,能轻松解决困扰我们许久的垂直居中和登高列问题。

1 display: flex

将容器设置为弹性容器,容器会占据100%的可用宽度,高度则由自身的内容来决定,即使改变主轴方向,也不会影响这一本质。

允许子元素使用”margin:auto;”来填充子元素之间的可用空间,比如把最后的子元素移动到最右侧。

图 弹性容器基础

行内元素,贡献给父元素的高度是根据行高计算,而不是根据内边距与内容。

1.1 弹性容器属性

flex-direction

用于指定弹性方向。 初始值row(从左到右),column表示从上到下,row-reverse 从右到左,column-reverse 从下到上。

垂直的弹性盒子,高度由自身内容来决定,因此子元素的flex-grow 和flex-shrink 不会起作用,除非有“外力”强行改变弹性容器的高度。

flex-wrap

指定子元素是否会在弹性容器内折行显式。(如果弹性方向为垂直,则折列显式)。默认值:nowrap,不折行。 wrap 折行,wrap-reverse 折行翻转。

flex-wrap 用于flexbox布局中的子元素排列。

white-space 用于纯文本的布局需求。

justify-content

控制子元素在主轴上的位置。

flex-start: 默认值,让子元素从主轴的开始位置排列。

flex-end: 让子元素从主轴的结束位置开始排列。

center: 让子元素居中(主轴方向)。

space-between: 将第一个子元素放在主轴开始的地方,最后一个子元素放在主轴结束的地方,剩余的元素间隔均匀的放在这两者之间。

space-around: 类似space-between,只不过第一个子元素的前面和最后一个子元素的后面也会加上相同的间距。

align-items

控制子元素在主轴方向的对齐方式。

stretch: 默认值,在水平排列的情况下让所有子元素填充容器的高度,垂直排列的情况下让子元素填充容器的宽度。(其他值可以让子元素保留自身的大小)

flex-start: 让子元素与副轴的开始位置对齐。

flex-end: 让子元素与副轴的结束位置对齐。

center: 让子元素副轴方向居中。

baseline: 让元素根据每个子元素的第一行文字的基线对齐。

align-content

如果开启了flex-wrap,且子元素有换行,则这个属性能控制子元素在副轴的间距。 否则会忽略这个属性。

属性值一共有六个,其中5个和justify-content的一样。 stretch 为初始值。填充在副轴上的空间。

表 弹性容器属性

图 弹性盒子容器的flex-direction属性

图 弹性容器盒子的flex-wrap 属性

图 弹性容器盒子的justify-content 与 align-items 属性

图 弹性容器盒子的align-content 属性

1.2 弹性子元素的属性

flex

是 flex-grow、flex-shrink、flex-basis 三个属性的缩写。

flex-basis: 定义元素的初始宽度(可以是px、em及百分比),初始值是auto(此时浏览器会检查元素是否设置了width属性值,如果有,则使用width的值作为flex-basis的值,否则用元素内容自身的大小),如果值非auto,那么width属性会被忽略。

flex-grow: 每个弹性子元素的flex-basis值计算出后,它们(包括外边距)加起来的宽度可能会小于弹性容器的宽度,多出来的留白,会按照flex-grow(增长因子)的值分配给每个元素,该值为非负整数,如果为0,那它的宽度不会超过flex-basis的值。

flex-shrink: 当子元素的初始尺寸(加上外边距)超出弹性容器的宽度,超出的部分会按照该值权重进行收缩。

默认值,flex-grow 和 flex-shrink为1、flex-basis为0%。

align-self

控制子元素在副轴上的对齐方式,会覆盖容器上的align-items值,如果子元素副轴方向上的外边距未auto,则会忽略该属性。

支持的关键字与align-items一样。默认值是auto。

order

将弹性子元素从兄弟节点中移动到指定位置,覆盖源码顺序。

表 弹性子元素的属性

图 弹性子元素的flex属性

图 弹性子元素的align-self属性

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2205987.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于SSM的“企业人事管理系统”的设计与实现(源码+数据库+文档)

基于SSM的“企业人事管理系统”的设计与实现(源码数据库文档) 开发语言:Java 数据库:MySQL 技术:SSM 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 登陆页面 部门管理页面 加班页面 考勤页面 请假页面 工资页面 …

leetcode链表(三)-反转链表

题目 . - 力扣(LeetCode) 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 思路 首先定义一个cur指针,指向头结点,再定义一个pre指针,初始化为None。 然后就要开始反转了&…

使用tgz包下载安装clickhouse低版本

1.下载安装包 官方下载地址:https://packages.clickhouse.com/tgz/stable 阿里云下载地址:clickhouse-tgz-stable安装包下载_开源镜像站-阿里云 共需要下载四个文件 clickhouse-common-static-20.3.10.75.tgz clickhouse-common-static-dbg-20.3.10.7…

如何通过零工市场小程序提高匹配效率?

零工市场正往好的方向逐步发展,零工市场小程序就是数字化转型成功的标志,那么零工市场小程序作为求职者和雇主之间沟通的桥梁,通过利用现代技术,例如Java算法,提高了灵活就业市场的效率。 Java通过数据分析&#xff0…

AI预测体彩排3采取888=3策略+和值012路或胆码测试10月11日升级新模型预测第101弹

经过100多期的测试,当然有很多彩友也一直在观察我每天发的预测结果,得到了一个非常有价值的信息,那就是9码定位的命中率非常高,已到达90%的命中率,这给喜欢打私菜的朋友提供了极高价值的预测结果~当然了,大…

Docker Overlay2 空间优化

目录 分析优化数据路径规划日志大小限制overlay2 大小限制清理冗余数据 总结 分析 overlay2 目录占用磁盘空间较大的原因通常与 Docker 容器和镜像的存储机制以及它们的长期累积相关,其实我之前在 Docker 原理那里已经提到过了。 通常时以下几种原因导致&#xff…

Java:数据结构-LinkedList与链表(1)

一 链表 1.. ArrayList的缺陷(LinkedList的优点) 在ArrayList任意位置插入或者删除元素时,就需要将后序元素整体往前或者往后 搬移,时间复杂度为O(n),效率比较低,因此ArrayList不适合做任意位置插入和删除…

【AI知识点】残差网络(ResNet,Residual Networks)

AI知识点总结:【AI知识点】 AI论文精读、项目、思考:【AI修炼之路】 残差网络(ResNet,Residual Networks) 是由微软研究院的何凯明等人在 2015 年提出的一种深度神经网络架构,在深度学习领域取得了巨大的成…

Vue3封装消息提示框-基于element-plus

Vue3封装消息提示框-基于element-plus 图片示例 封装代码 创建modal.js文件 import {ElMessage,ElMessageBox,ElNotification,ElLoading, } from "element-plus";let loadingInstance;export default {// 消息提示msg(content) {ElMessage.info(content);},// 错误…

手机移动终端的土壤检测

手机OTG转USB串口,读取土壤检测设备信息,在APP展示。 总结一下 1. 用了MAUI框架,这东西感觉比xamarin好用,特别是contentpage和单例模式,数据绑定也很OK。 2. 串口驱动不好孤岛,废了不少功夫专门做这个。 3…

Lory: 推进大型语言模型训练的新篇章

人工智能咨询培训老师叶梓 转载标明出处 随着模型规模的增长,如何有效训练并利用这些模型成为了一个挑战。陈丹琦团队一项新的研究提出了一种创新的预训练方法——Lory,旨在解决大模型在混合专家(MoE)架构中的可微分性和计算效率…

开关打开输入框才能输入文字,否则为禁用状态

页面开关默认为关闭状态&#xff0c;输入框为禁用状态。 当点击开关&#xff0c;打开开关后&#xff0c;输入框禁用状态解除&#xff0c;才可以在输入框内输入。 html结构: <div class"page_top"><!-- 第一行 --><div class"top_first">…

使用three.js 实现一个 马赛克得 shader

使用three.js 实现一个 马赛克得 shader 源链接&#xff1a;https://threehub.cn/#/codeMirror?navigationThreeJS&classifyshader&idmosaicShader 国内站点预览&#xff1a;http://threehub.cn github地址: https://github.com/z2586300277/three-cesium-example…

HTML的介绍

HTML HTML是一种超文本标记语言,超文本是指,除了文本之外,还可能包含图片,音频,或者评注等的 文本形式,比文本强大,通过链接和交互方式来组织和呈现信息.标记语言是指,由标签构成的语言.HTML定义了多种不同的标签,用来表示不同的内容. 标签的介绍: 1.<h3> 三级 </h3&…

增强AI查询:使用Rewrite Retrieve Read框架优化RAG

增强AI查询&#xff1a;使用Rewrite Retrieve Read框架优化RAG 引言 在大规模语言模型&#xff08;LLM&#xff09;中&#xff0c;通过查询重写来提升检索增强生成&#xff08;RAG&#xff09;的性能是一个热门研究领域。本文将介绍如何使用rewrite_retrieve_read模板来优化R…

基于SpringBoot的图书推荐系统的设计与实现(论文+源码)_kaic

摘 要 网络信息技术的高速发展&#xff0c;使得高校图书馆的服务空间日益扩大&#xff0c;依据个人特点的针对性服务逐渐成为新服务模式的主导趋势。对于大多数用户而言&#xff0c;很难在大量的学术图书馆中快速找到他们想要的材料。另外&#xff0c;随着时代的不断发展&am…

Mysql的LSN是什么?

LSN的含义 ​ LSN全称为 Log Sequence Number&#xff0c;即日志序列号。它是一个不断递增的数字&#xff0c;用来标识事务日志中的每个操作或事件。LSN是一个64位的数字&#xff0c;每一个LSN值都是唯一的&#xff0c;并且随时间线性增加。 ​ 通过SHOW ENGINE INNODB STATUS;…

GADBench Revisiting and Benchmarking Supervised Graph Anomaly Detection

Neurips 23 推荐指数&#xff1a; #paper/⭐⭐⭐ 领域&#xff1a;图异常检测 胡言乱语&#xff1a; neurips 的benchmark模块的文章总能给人一些启发性的理解&#xff0c;这篇的insight真有意思。个人感兴趣的地方会加粗。此外&#xff0c;这篇文章和腾讯AIlab合作&#xff…

嵌入式基本知识

文章目录 调试接口仿真器MCU实际的调试接口 调试接口 调试接口用于对MCU进行编程和调试&#xff0c;这里的编程指将源代码编译后的.hex文件写入MCU闪存特定地址中&#xff0c;调试指MCU运行代码debug的过程。 不同的接口协议有不同的接口类型。SWD协议调试接口的引脚主要有&a…

卡码网C++基础课 |20. 排队取奶茶

目录 前言 一、题目描述 二、解题思路 1.队列 2.队列的操作 三、完整代码 总结 前言 仅个人记录所用 源自卡码网的C基础课 “这门C基础课 帮助 编程零基础学员快速学习刷算法题所需要的基础语法知识&#xff0c;学完之后&#xff0c;再来刷代码随想录&#xff0c;或者自己去…