子元素中的display:flex破坏了父元素的display:inline

工作

假设我有三个内联元素,它们包含跨度,某种类型的

<div class="my-inline-element">
    <span >Item1</span>
</div>

<div class="my-inline-element">
    <span >Item2</span>
</div>  

<div class="my-inline-element">
    <span >Item3</span>
</div>

.my-inline-element风格有display:inline;

.my-inline-element{
  border:2px solid red;
  display:inline;
  margin-right:5px;
}

一切正常(https://jsfiddle.net/dbbd0zLa/1/

预期样式

当我想在内部设置跨度时会发生问题display:flex;...

.my-inline-element span {
  display: flex;
}

为什么会中断父(my-inline-element)内联显示?https://jsfiddle.net/9qdphh61/1/

破碎的内联样式

迈克尔·本杰明(Michael Benjamin)

解决方案:

使用display: inline-flex代替display: flex

修改后的演示

或者,如@LarsW的注释中所指出的那样,将其设为父级display: inline-blockdemo)。


解释

当您应用于display: flex元素时,这将为元素提供类似于块级的属性因此,您要将一个块级元素放在一个内联元素中。

首先,这是无效的HTML:

7.5.3块级和内联元素

通常,块级元素可以包含内联元素和其他块级元素。通常,内联元素可以仅包含数据和其他内联元素。这种结构上的区别固有的思想是,块元素比内联元素创建“更大”的结构。

(强调)

其次,这会使内联元素“突破”块级框。

9.2.1.1。匿名方块盒

当一个内联框包含一个流入的块级框时,该内联框(及其在同一行框内的行内​​祖先)在该块级框(以及任何连续的或仅由以下分隔的块级同级)周围被打断。可折叠的空白和/或流出元素),将嵌入式框拆分为两个框(即使任一侧为空),在块级框的每一侧。分隔符之前和之后的行框都包含在匿名块框中,而块级框成为这些匿名框的兄弟。当此类内联框受到相对位置的影响时,任何产生的平移也会影响内联框中包含的块级框。

另请参阅以下帖子:

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

导航被display:inline破坏了

来自分类Dev

无法在IE11中获取display:block元素(而不是display:flex元素)来包含它的子元素

来自分类Dev

防止子元素悬停破坏父悬停

来自分类Dev

将 flex 元素的子元素设置为父元素的高度?

来自分类Dev

高图表版本中的更改破坏了元素的动画

来自分类Dev

子元素在父元素中的jQuery索引

来自分类Dev

从Appium的子元素中获取父元素

来自分类Dev

如何使用Display Flex使多个元素重叠

来自分类Dev

如何覆盖display:none属性应用于特定子元素中的父元素

来自分类Dev

子元素脱离父元素

来自分类Dev

选择父元素的子元素

来自分类Dev

子元素脱离父元素

来自分类Dev

子元素溢出父元素

来自分类Dev

子元素裁剪父元素?

来自分类Dev

父元素中componentDidMount之后的子元素中的某些方法

来自分类Dev

在子元素的onclick事件处理程序中定位父元素

来自分类Dev

过滤同位素中父元素的子元素

来自分类Dev

如何在 JSON 中获取子元素的父元素名称?

来自分类Dev

如何从 HTML 中的父元素转发子元素?

来自分类Dev

display ='inline'和style =“ display:'inline';”之间有区别吗?在MathML数学元素上?

来自分类Dev

SCSS:display-flex将元素彼此堆叠

来自分类Dev

CSS:使用display:flex定位元素的麻烦

来自分类Dev

<div>元素在使用display:inline或float:left时消失

来自分类Dev

使用display:inline或float:left时<div>元素消失

来自分类Dev

绝对元素破坏父div布局

来自分类Dev

IE11元元素破坏了SVG

来自分类Dev

tableView.hidden破坏了其他元素

来自分类Dev

等距浮动的<div>包含文本的元素破坏了布局

来自分类Dev

HTML-DIV元素破坏了几个DIV

Related 相关文章

热门标签

归档