当前位置: 首页 > 面试题库 >

弹性项目的display属性的允许值是什么?(flex-item的子项的布局无关紧要)

宓跃
2023-03-14
问题内容

flex容器的所有子代(由display: flex或指定display: inline- flex)都是自动生成的flex项目。弹性项目没有显示属性。取而代之的是,根据我们希望flex子项的布局方式,将其设置为其他值。

因此,如果我display在Y元素上设置X值(考虑到Y参与了flex上下文,即Y是一个flex-item),我可以确定我将始终获得表现出作用的flex-
item(在这种格式化上下文(在flex容器中)就像一个块级元素一样?

(换句话说,无论X = block / inline / table-cell / inline-grid /…等等,Y都参与块格式化上下文,对吧?)

  • X –非冻结值
  • Y – flex-item,html元素

这个:

<div id="flex-container" style="display:flex">
    <div id="flex-item" style="display: inline;">item</div>
</div>

等于这个(没有任何副作用)

<div id="flex-container" style="display:flex">
    <div id="flex-item" style="display: block;">item</div>
</div>

问题答案:

成为弹性商品的唯一条件是弹性容器的流入子代。

请注意,这意味着可以将连续的文本包装在不与任何元素对应的匿名flex项目中,并且如果满足以下任意条件,则flex容器的子元素可能不是flex项目

  • 这是绝对定位

flex容器的绝对定位的子级不参与flex布局。

  • 它有 display: contents

元素本身不会生成任何框,但是其子元素和伪元素仍会正常生成框。出于框生成和布局的目的,必须将元素视为在文档树中已被其子元素和伪元素替换的情况。

它的子项将变为弹性项(除非此列表中的某些内容适用于它们)。

  • 它有 display: none

元素及其后代不生成任何框。

  • 它有 box-suppress: discard

该元素根本不生成任何框。

  • 它有 box-suppress: hide

元素会正常生成框,但是这些框不会以任何方式参与布局,并且不得显示。

  • 以前,如果flex容器的子项具有display生成匿名父项的值,则该父项将成为flex项而不是子项。这已更改,现在子级成为弹性项,并且没有父级生成。

除此之外,是的,该display值不应阻止元素成为弹性项目。

请注意,弹性项目已被阻塞],因此例如inline- block变为blockinline-table变为tableinline-flex变为flex等等。

这意味着,无论指定了什么外部显示角色,弹性项目都将始终处于块级。

基本上,该display属性在弹性项目上使用时,仅可用于设置其内部显示布局模型,例如,您希望将弹性项目作为其内容的弹性容器。

一个柔性的项目确立了其内容的新的格式化的内容。格式化上下文的类型display通常由其值确定 。但是,弹性项目本身是 _弹性级别的_框,而不是块级的框:它们参与其容器的flex格式上下文,而不是块格式上下文。

(术语有所不同,Display规范表示从外部显示角色的角度来看,flex项是块级别的,Flexbox规范表示从其参与的格式化上下文不是一)



 类似资料:
  • 如何决定projectkey?我的意思是我们在哪里可以找到我们的<代码>。Net,< code>plsql项目? 注意-我是这些声纳的新手,正在尝试在我的组织中自己设置所有这些。

  • 弹性盒子(Flexible Box)是一种用于按行或按列布局元素的一维布局方法,使用该布局的组件即为弹性容器(flex container),容器内的直系子组件则是弹性项目(flex item),他们可以膨胀以填充额外的空间,收缩以适应更小的空间,它们在 CSS 属性都为初始的情况下都会有下列行为: 项目排列成一行。(容器的 flex-direction 属性的初始值是 row) 项目从主轴的起始

  • 问题内容: 我有一个go项目,这个项目开始变得越来越复杂,并且希望以减轻痛苦的方式布置文件系统。 是否有一些很好的例子说明什么有意义? 问题答案: 2013年5月更新:官方文档位于“ 代码组织 ”部分 Go代码必须保存在 工作空间中 。 工作区是目录层次结构,其根目录包含三个目录: 包含归类为软件包的Go源文件(每个目录一个软件包), 包含包对象,并且 包含可执行命令。 在构建源码包和安装产生的二

  • 问题内容: 我正在尝试制作多个具有相同高度的正方形行(每行3个)。 我为此编写了一些HTML和CSS,但所有框都在同一行上。 这是我到目前为止的内容: 当我用此页面加载页面时,所有框都出现了,但是它们都在一行上,超过了父div的100%宽度。 任何帮助深表感谢。 问题答案: flex容器的初始设置为 。 这意味着,当您创建一个伸缩容器(通过应用元素或将其应用于元素)时,所有子元素(“伸缩项”)都限

  • 我正在使用spring webflux通过Schudters.elastic()从另一个服务调用另一个服务。 在主线程中,我设置了一个InhertitableThreadlocal变量,在子线程中,我试图访问它,它工作正常。 这是我的线程本地存储类 现在的问题是它第一次工作正常,这意味着我在threadlocal中设置的值被传递给了其他服务。 但第二次,它也使用了旧id(在上次请求中生成)。 我尝

  • 多列布局 类似报纸或杂志中的排版方式,上要用以控制大篇幅文本。用得不多。 格式举例: .wrapper{ /* 分成几列 */ -webkit-column-count: 3; /* 每列之间,用分割线隔开 */ -webkit-column-rule: 1px dashed red; /* 设置列之间的间