【前端 | CSS】align-items与align-content的区别

news2024/11/24 20:56:16

align-items

描述  

CSS align-items 属性将所有直接子节点上的 align-self 值设置为一个组。align-self 属性设置项目在其包含块中在交叉轴方向上的对齐方式

align-items是针对每一个子项起作用,它的基本单位是每一个子项,在所有情况下都有效果;

目前,Flexbox 和 CSS 网格布局支持此属性。在 Flexbox 中,它控制十字轴上项目的对齐方式,在网格布局中,它控制块轴上项目的对齐方式。

语法

/* Basic keywords */
align-items: normal;
align-items: stretch;

/* Positional alignment */
align-items: center; /* Pack items around the center */
align-items: start; /* Pack items from the start */
align-items: end; /* Pack items from the end */
align-items: flex-start; /* Pack flex items from the start */
align-items: flex-end; /* Pack flex items from the end */
align-items: self-start;
align-items: self-end;

/* Baseline alignment */
align-items: baseline;
align-items: first baseline;
align-items: last baseline; /* Overflow alignment (for positional alignment only) */
align-items: safe center;
align-items: unsafe center;

/* Global values */
align-items: inherit;
align-items: initial;
align-items: unset;

取值

normal

这个关键字的效果取决于我们处在什么布局模式中:

  • 在绝对定位的布局中,对于被替代的绝对定位盒子,这个效果和start?的效果的一样;对于其他所有绝对定位的盒子,这个效果和stretch的效果一样。
  • 在绝对定位布局的静态位置上,效果和stretch一样。
  • 对于那些弹性项目而言,效果和stretch一样。
  • 对于那些网格项目而言,效果和stretch一样,除了有部分比例或者一个固定大小的盒子的效果像start
  • 这个属性不适用于块级盒子和表格。

flex-start

元素向侧轴起点对齐。

flex-end

元素向侧轴终点对齐。

start

The item is packed flush to each other toward the start edge of the alignment container in the appropriate axis.

end

The item is packed flush to each other toward the end edge of the alignment container in the appropriate axis.

center

元素在侧轴居中。如果元素在侧轴上的高度高于其容器,那么在两个方向上溢出距离相同。

stretch

弹性项包含外边距的交叉轴尺寸被拉升至行高

情景一

默认值

align-items:stretch;

.flex-01 {
    display: flex;
    /*  默认值 平铺 */
    align-items: stretch;
  }

 code示例(flex-01)

情景二

 .flex-02 {
    /* 单行生效居中 */
    align-items: center;
  }

 code示例(flex-02)

情景三

 .flex-03 {
    /* 多行生效居中,且每一行分别相对于原有的平铺位置居中 */
    flex-wrap: wrap;
    align-items: center;
  }

  code示例(flex-03)

aligin-content

描述

CSS 的 align-content 属性设置了浏览器如何沿着弹性盒子布局的纵轴和网格布局的主轴在内容项之间和周围分配空间。

align-content属性是将flex子项作为一个整体起作用,它的基本单位是子项构成的行

语法

/* 基本位置对齐 */
/*align-content 不采用左右值 */
align-content: center; /* 将项目放置在中点 */
align-content: start; /* 最先放置项目 */
align-content: end; /* 最后放置项目 */
align-content: flex-start; /* 从起始点开始放置 flex 元素 */
align-content: flex-end; /* 从终止点开始放置 flex 元素 */

/* 默认对齐 */
align-content: normal;

/*基线对齐*/
align-content: baseline;
align-content: first baseline;
align-content: last baseline;

/* 分布式对齐 */
align-content: space-between; /* 均匀分布项目
                                 第一项与起始点齐平,
                                 最后一项与终止点齐平 */
align-content: space-around; /* 均匀分布项目
                                 项目在两端有一半大小的空间*/
align-content: space-evenly; /* 均匀分布项目
                                 项目周围有相等的空间 */
align-content: stretch; /* 均匀分布项目
                                 拉伸‘自动’ - 大小的项目以充满容器 */

/* 溢出对齐 */
align-content: safe center;
align-content: unsafe center;

/* 全局属性 */
align-content: inherit; /* 继承 */
align-content: initial; /* 初始值 */
align-content: unset; /* 未设置 */

 取值

start

所有行从容器的起始边缘开始填充。

end

所有行从容器的结束边缘开始填充。

flex-start

所有行从垂直轴起点开始填充。第一行的垂直轴起点边和容器的垂直轴起点边对齐。接下来的每一行紧跟前一行。

flex-end

所有行从垂直轴末尾开始填充。最后一行的垂直轴终点和容器的垂直轴终点对齐。同时所有后续行与前一个对齐。

center

所有行朝向容器的中心填充。每行互相紧挨,相对于容器居中对齐。容器的垂直轴起点边和第一行的距离相等于容器的垂直轴终点边和最后一行的距离。

normal

这些项按默认位置填充,就像没有设置对齐内容值一样。

space-between

所有行在容器中平均分布。相邻两行间距相等。容器的垂直轴起点边和终点边分别与第一行和最后一行的边对齐。

space-around

所有行在容器中平均分布,相邻两行间距相等。容器的垂直轴起点边和终点边分别与第一行和最后一行的距离是相邻两行间距的一半。

space-evenly

所有行沿垂直轴均匀分布在对齐容器内。每对相邻的项之间的间距,主开始边和第一项,以及主结束边和最后一项,都是完全相同的。

stretch

拉伸所有行来填满剩余空间。剩余空间平均地分配给每一行。

safe

与对齐关键字一起使用。如果所选的关键字意味着项溢出对齐容器(data loss),则将采用备用策略对项进行对齐,就像启动了 start 对齐模式一样。

unsafe

与对齐关键字一起使用。无论元素和对齐容器的相对大小如何、是否会导致一些元素溢出可见范围(data loss),都使用给定的对齐值。

情景一

  .flex-04 {
    /* 单行设置不生效*/
    align-content: center;
  }

 原因:

在flex布局子元素单行的情况下,也就是没有设置fle-wrap:wrap时,优先级align-items的优先级要高于align-content;

而此时 align-items为默认值stretch,

元素在侧轴方向为平铺状态,占据侧轴整个空间,设置align-content为center就没有意义,也就不会生效;

code示例(flex-04)

情景二

 .flex-05 {
    /* 多行设置生效,整个内容区居中 */
    flex-wrap: wrap;
    align-content: center;
  }

 code示例(flex-05)

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

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

相关文章

面试热题(路径总和II)

给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。 叶子节点 是指没有子节点的节点。 在这里给大家提供两种方法进行思考,第一种方法是递归,第二种方式使用回溯的方式进行爆…

携程验证码

今日话题:凑字数水文章。大表哥们感兴趣可以看看。 携程验证类型总共有3种。无感,滑块,点选。 process_type:None为无感 验证接口:https://ic.ctrip.com/captcha/v4/risk_inspect process_type:JIGSAW为…

opencv带GStreamer之Windows编译

目录 1、下载GStreamer和安装2. GSTReamer CMake配置3. 验证是否配置成功 1、下载GStreamer和安装 下载地址如下: gstreamer-1.0-msvc-x86_64-1.18.2.msi gstreamer-1.0-devel-msvc-x86_64-1.18.2.msi 安装目录无要求,主要是安装完设置环境变量 xxx\1…

无涯教程-Perl - getservbyport函数

描述 此功能转换协议PROTO的服务编号PORT,在标量context中返回服务名称,并在列表context中返回名称和相关信息- ($name,$aliases,$port_number,$protocol_name) 该调用基于/etc/services文件返回这些值。 语法 以下是此函数的简单语法- getservbyport PORT, PROTO返回值 …

科学家揭示:爱的能量是光——能够治愈一切!

当你和你的恋人食指相触时,指尖发出的辉光会产生闪电般绚烂的连结; 当你对着亲密的另一半说“我爱你”时,一团物质能量随即从你的胸口释出,飞向另一个人——这听起来像魔幻电影般的场景,却是实实在在的物理现象。 1、人…

uniapp input输入框placeholder文本右对齐

input输入框placeholder文本右对齐 给input标签加上placeholder-class,这个是给placeholder设置样式,右对齐这就是text-align:right;字体颜色之类依次编辑即可。

python——案例13:显示现在的时间

案例13:显示现在的时间import timefor i in range(1):print(time.strftime(%Y-%m-%d %H:%M:%S,time.localtime(time.time())))

GLSL用于图像处理

Pipeline 硬件处理顶点和片段的Pipeline 软件的输入 顶点着色器 顶点的glsl 输入–特殊全局变量 变量 类型 指定函数 描述 gl_ Vertex vec4 glVertex 顶点的全局空间坐标 gl_Color vec4 glColor 主颜色值 gl_SecondaryColor vec4 glSecondaryColor 辅助颜色值 gl_Normal …

布谷鸟配音:智能文字转语音配音软件

这是一款主打文字转语音功能的智能配音软件,它提供了数百种不同风格、具备真人发声效果的配音音效,包含沉稳的男声、温柔的女声、稚嫩的童声,还支持方言和外语配音,可以应用于多种场景,例如在线教育、广告宣传、电子书…

贡献超 10 万代码的新晋 committer,持续参与 Apache IoTDB 社区的“秘籍”是?

资深贡献者成为 Committer! 2023 年 5 月 5 日,经 Apache IoTDB 社区投票,周沛辰成为 Apache IoTDB Committer。但其实这位新 committer 已经是 GitHub 代码贡献量突破 10 万,排名靠前的“资深贡献者”了。这位 Apache IoTDB 的“…

百度、NVIDIA、Intel……各大厂商集结,共话文心与飞桨共享生态下的大模型训推部署创新实践计划...

由深度学习技术及应用国家工程研究中心主办、百度飞桨和文心大模型承办的WAVE SUMMIT 2023峰会重磅来袭!本届峰会聚焦AI技术、产业生态、未来趋势等主要方向,产、学、研、用各界大咖将围绕深度学习及大模型技术的发展与未来,带来行业前瞻洞察…

免费logo生成软件,总有一个适合你

随着互联网的发展,越来越多的企业开始注重品牌形象的塑造,而作为品牌形象的重要组成部分之一的logo也越来越受到关注。一个好的logo不仅可以传达企业的理念,还可以提升企业的知名度和美誉度。那么,在生成logo的过程中需要注意哪些…

Vue中使用qrcode说明

1.安装 npm i qrcode1.5.3 2.导入 import QRCode from qrcode 3.转换 说明:拿到服务器传来的字符串,转换成base64,然后通过img标签展示。 // 字符串转成二维码 let result await this.$API.reqPayInfo(this.orderId); 总结:

ChatGPT将会成为强者的外挂?—— 提高学习能力

目录 前言 一、提高学习力 🧑‍💻 1. 快速找到需要的知识 2. 组合自己的知识体系 3. 内化知识技能 二、提问能力❗ 三、思维、创新能力 🌟 1. 批判性思维 1.1 八大基本结构进行批判性提问 1.2 苏格拉底的提问分类方法 2. 结构化思…

Kubeflow Pipelines介绍与实例

1.背景 ML code仅是Machine Learning systems中的一小部分,像数据收集、特征抽取、配置管理、资源管理、模型部署、模型监控等同样十分的重要。一个典型的机器学习系统由这么多组件或子系统构成时,那么这么多子系统应该如何高效的配合起来? …

客户案例 | 永续发展,低代码助力“双碳”战略历史使命

关键发现 客户痛点:应对企业数字化转型,新技术能否提升绩效的不确定性,投资带来的风险性,以及企业组织架构的适应性等难点问题。作为业务驱动型企业,欠缺快速构建数字化产品方案的能力。 解决方案:利用西门…

【T3】固定资产模块点击资产增加时 提示“由于互斥功能正在运行或者相关设置步骤未完成,此功能暂时不可用”。

【问题描述】 在用友通T3软件中, 固定资产模块点击资产增加时 提示“由于互斥功能正在运行或者相关设置步骤未完成,此功能暂时不可用”。 【原因分析】 (1)可能之前出现过非正常关闭软件的行为导致功能被锁定 (2&…

LC-1289. 下降路径最小和 II(记忆化搜索==> 动态规划)

1289. 下降路径最小和 II 难度困难108 给你一个 n x n 整数矩阵 grid ,请你返回 非零偏移下降路径 数字和的最小值。 非零偏移下降路径 定义为:从 grid 数组中的每一行选择一个数字,且按顺序选出来的数字中,相邻数字不在原数组…

♥ vue中$set用法详细讲解

♥ vue中$set用法详细讲解 1、认识 在vue中,并不是任何时候数据都是双向绑定的。 官方文档介绍 使用场景 当数据没有被双向绑定的时候,我们就需要使用set了 举个例子: vue的data里边声明或者已经赋值过的对象或者数组(数组里…

C#版本LINQ增强开源库

LINQ对应的中文名称是:语言集成查询,是对一系列直接将查询功能集成到C#语言技术的统称,我们最常用的场景是,用于数据库的查询功能。 在.Net中,本身对Objects也支持LINQ的扩展,但是对于一些特定的功能&…