为什么在DOM中插入中间非标准元素会破坏flex框
Why does inserting intermediate non standard elements in the DOM break flex boxes?
我在Angular JS指令元素中看到了这一点,但这里有一个最小的复制代码:
OK代码(父div宽度为30rem):
div {
display: flex;
padding-top: .5rem;
}
.parent {
flex: 0 0 30rem;
background-color: BlueViolet;
}
.child {
flex: 0 0 15rem;
background-color: DeepSkyBlue;
}
.text {
background-color: DarkOrange;
}
<div>
<div class="parent">
<div class="child">
<span class="text">Dummy text</span>
</div>
</div>
</div>
KO代码(父div宽度不是30rem:它与Chrome和Firefox下的文本大小相同,在IE11下是15rem):
div {
display: flex;
padding-top: .5rem;
}
.parent {
flex: 0 0 30rem;
background-color: BlueViolet;
}
.child {
flex: 0 0 15rem;
background-color: DeepSkyBlue;
}
.text {
background-color: DarkOrange;
}
<div>
<dummy-tag>
<div class="parent">
<div class="child">
<span class="text">Dummy text</span>
</div>
</div>
</dummy-tag>
</div>
这是一个新的flex bug吗?
flex就是这样工作的。它不是关于非标准元素(默认情况下被视为display:inline
元素),而是关于任何没有正确的display
值的元素。
在那里放一个<div>
而不是<dummy-tag>
,你会得到类似的效果。
相关文章:
- CKEditor Widget-阻止编辑可编辑元素本身
- 如何设置html元素填充的动画
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 使用clickToggle并在单击另一个元素时关闭元素
- 单击时将焦点更改为元素
- 表追加而不附加最后一个元素
- 如何在jQuery中获取元素的形式
- 我可以获得相对于被点击元素的确切点击位置吗
- 在函数中添加数组元素的数值
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- 将视口底部滚动到元素底部
- 是否有任何snippet或jQuery插件可以列出easylist.txt模式匹配的DOM中的所有元素
- 在不使用JQuery的情况下隐藏DOM中的选定元素
- 如何使用jquery处理php循环通过元素
- 在使用 JS 渲染之前计算 flex 元素宽度
- 具有3个元素的Dynamic Flex
- 为什么在DOM中插入中间非标准元素会破坏flex框
- 如何强制子元素遵守“flex: nowrap;”CSS指令
- 如何在两个flex样式的行之间添加一个元素,并使下面的行根据新元素的高度向下移动