”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 全新的显示属性。

全新的显示属性。

发布于2024-07-31
浏览:447

The All-New display Property.

从 Chrome 115 开始,CSS 显示属性有多个值。 display: flex 变为 display: block flex,display: block 变为 display: block flow。您知道的单个值现在被视为遗留值,但保留在浏览器中以实现向后兼容性。

为什么迟到这么久?

简而言之:它改变了我们解释盒子模型等事物的方式。该规范仍然是 CR 快照,这意味着 W3C 会从实施者那里收集经验来最终确定该标准。因此,其中一些可能仍会发生变化。

重做将显示类型分为两部分:外显示类型和内显示类型。

外部显示类型决定主框本身如何参与流布局。

内部显示类型决定了其后代框的布局方式(替换元素除外,这有点复杂)。

因此 display: flex 变成了 display: block flex 意味着外部显示类型是块(它在外部表现为块元素),但其子元素根据 flex 布局进行渲染。

这与以前的行为相同,但是通过此更改,我们可以讨论 display 属性对子元素和周围元素的影响。在我看来,这种心理模型可以更轻松地创建更可预测的布局,并且更容易解释不同的布局模式及其效果。

在较新的课程或教程中,对盒子模型的良好解释不仅需要涵盖边距、边框、填充、宽度和高度,还需要涵盖盒子大小和显示属性。

显示属性的有效值是什么?

正如已经提到的,一些旧财产现在已经成为遗产。以下是所有有效属性:

对于多值语法显示:outer-type inside-type 有效的外部类型为blockinlinerun-in。有效的内部显示类型为 flowflow-roottableflexgrid红宝石

还有有效的单值:list-itemcontentsnone

最重要的是,CSS 有一些仍然有效的内部显示值。使用表格或 ruby​​ 显示类型时将计算这些值。

以下组合现已成为旧版:inline-blockinline-tableinline-flexinline-grid 。它们可以替换为多值等价物,例如:display: inline flex.

现代浏览器的最新版本支持多值:https://caniuse.com/mdn-css_properties_display_multi-keyword_values

Caniuse 用于显示属性的多关键字值。

就这样了,伙计们!

非常感谢您的阅读!

版本声明 本文转载于:https://dev.to/manojgohel/the-all-new-display-property-3572?1如有侵犯,请联系[email protected]删除
最新教程 更多>
  • 编译器报错“usr/bin/ld: cannot find -l”解决方法
    编译器报错“usr/bin/ld: cannot find -l”解决方法
    错误:“ usr/bin/ld:找不到-l “ 此错误表明链接器在链接您的可执行文件时无法找到指定的库。为了解决此问题,我们将深入研究如何指定库路径并将链接引导到正确位置的详细信息。添加库搜索路径的一个可能的原因是,此错误是您的makefile中缺少库搜索路径。要解决它,您可以在链接器命令中添加...
    编程 发布于2025-04-21
  • 为WebClient.DownloadFile()设置超时时间的技巧
    为WebClient.DownloadFile()设置超时时间的技巧
    [2 [2 方法有时会导致冗长的下载等待。 为了避免这种情况,实施超时机制至关重要。 这确保下载不会无限期地悬挂。 一个解决方案涉及创建一个自定义类扩展来管理超时属性。 以下是: 使用系统; 使用system.net; 公共类WebDownload:WebClient { /// ...
    编程 发布于2025-04-21
  • 如何使用“ JSON”软件包解析JSON阵列?
    如何使用“ JSON”软件包解析JSON阵列?
    parsing JSON与JSON软件包 QUALDALS:考虑以下go代码:字符串 } func main(){ datajson:=`[“ 1”,“ 2”,“ 3”]`` arr:= jsontype {} 摘要:= = json.unmarshal([] byte(...
    编程 发布于2025-04-21
  • 如何在其容器中为DIV创建平滑的左右CSS动画?
    如何在其容器中为DIV创建平滑的左右CSS动画?
    通用CSS动画,用于左右运动 ,我们将探索创建一个通用的CSS动画,以向左和右移动DIV,从而到达其容器的边缘。该动画可以应用于具有绝对定位的任何div,无论其未知长度如何。问题:使用左直接导致瞬时消失 更加流畅的解决方案:混合转换和左 [并实现平稳的,线性的运动,我们介绍了线性的转换。这...
    编程 发布于2025-04-21
  • 为什么JavaScript构造函数不能用Async/Await?
    为什么JavaScript构造函数不能用Async/Await?
    在构造函数中的asynchronous调用:不可能的eardeavor 因错误消息而失败:类构造函数可能不是async方法,构造函数函数负责初始化和返回对象实例。但是,异步关键字将函数转换为承诺生成器,从而导致函数返回承诺而不是对象本身。这产生了固有的冲突。揭示了不可能 [误解是源于async/...
    编程 发布于2025-04-21
  • 如何使用FormData()处理多个文件上传?
    如何使用FormData()处理多个文件上传?
    )处理多个文件输入时,通常需要处理多个文件上传时,通常是必要的。 The fd.append("fileToUpload[]", files[x]); method can be used for this purpose, allowing you to send multi...
    编程 发布于2025-04-20
  • 如何使用不同数量列的联合数据库表?
    如何使用不同数量列的联合数据库表?
    合并列数不同的表 当尝试合并列数不同的数据库表时,可能会遇到挑战。一种直接的方法是在列数较少的表中,为缺失的列追加空值。 例如,考虑两个表,表 A 和表 B,其中表 A 的列数多于表 B。为了合并这些表,同时处理表 B 中缺失的列,请按照以下步骤操作: 确定表 B 中缺失的列,并将它们添加到表的末...
    编程 发布于2025-04-20
  • Go语言垃圾回收如何处理切片内存?
    Go语言垃圾回收如何处理切片内存?
    在Go Slices中的垃圾收集:详细的分析在GO中,Slice是一个动态数组,引用了基础阵列。使用切片时,了解垃圾收集行为至关重要,以避免潜在的内存泄漏。考虑使用slice使用slice的以下实现:字符串{ R:=(*Q)[0] *q =(*q)[1:len(*q)] 返回...
    编程 发布于2025-04-20
  • 如何干净地删除匿名JavaScript事件处理程序?
    如何干净地删除匿名JavaScript事件处理程序?
    删除匿名事件侦听器将匿名事件侦听器添加到元素中会提供灵活性和简单性,但是当要删除它们时,可以构成挑战,而无需替换元素本身就可以替换一个问题。 element? element.addeventlistener(event,function(){/在这里工作/},false); 要解决此问题,请考虑...
    编程 发布于2025-04-20
  • 如何从PHP中的数组中提取随机元素?
    如何从PHP中的数组中提取随机元素?
    从阵列中的随机选择,可以轻松从数组中获取随机项目。考虑以下数组:; 从此数组中检索一个随机项目,利用array_rand( array_rand()函数从数组返回一个随机键。通过将$项目数组索引使用此键,我们可以从数组中访问一个随机元素。这种方法为选择随机项目提供了一种直接且可靠的方法。
    编程 发布于2025-04-20
  • 在所有浏览器中实现左对齐文本的斜线方法
    在所有浏览器中实现左对齐文本的斜线方法
    ] 在倾斜行上的文本对齐背景在倾斜行上实现左对齐的文本可能会构成挑战,在nectera时尤其是挑战。兼容性(返回IE9)。通过引入一系列平方元素并计算其尺寸,我们可以创建一个有效的解决方案: .loop(@i) when (@i > 0){ .loop((@i - 1...
    编程 发布于2025-04-20
  • 在UTF8 MySQL表中正确将Latin1字符转换为UTF8的方法
    在UTF8 MySQL表中正确将Latin1字符转换为UTF8的方法
    在UTF8表中将latin1字符转换为utf8 ,您遇到了一个问题,其中含义的字符(例如,“jáuòiñe”)在utf8 table tabled tablesset中被extect(例如,“致电。为了解决此问题,您正在尝试使用“ mb_convert_encoding”和“ iconv”转换受...
    编程 发布于2025-04-20
  • 您如何在Laravel Blade模板中定义变量?
    您如何在Laravel Blade模板中定义变量?
    在Laravel Blade模板中使用Elegance 在blade模板中如何分配变量对于存储以后使用的数据至关重要。在使用“ {{}}”分配变量的同时,它可能并不总是最优雅的解决方案。幸运的是,Blade通过@php Directive提供了更优雅的方法: $ old_section =“...
    编程 发布于2025-04-20
  • 为什么我会收到MySQL错误#1089:错误的前缀密钥?
    为什么我会收到MySQL错误#1089:错误的前缀密钥?
    mySQL错误#1089:错误的前缀键错误descript [#1089-不正确的前缀键在尝试在表中创建一个prefix键时会出现。前缀键旨在索引字符串列的特定前缀长度长度,可以更快地搜索这些前缀。了解prefix keys `这将在整个Movie_ID列上创建标准主键。主密钥对于唯一识别...
    编程 发布于2025-04-20
  • 在Java中使用for-to-loop和迭代器进行收集遍历之间是否存在性能差异?
    在Java中使用for-to-loop和迭代器进行收集遍历之间是否存在性能差异?
    For Each Loop vs. Iterator: Efficiency in Collection TraversalIntroductionWhen traversing a collection in Java, the choice arises between using a for-...
    编程 发布于2025-04-20

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3