宽度和柔韧性基准之间的差异

德雷莫拉

我遇到了行为上的差异widthflex-basis而我无法通过flex-basis和width之间的差异进行解释

.outer {
  display: flex;
  background: yellow;
  padding: 10px;
}
.middle {
  display: flex;
  flex-shrink: 0;
  background: red;
  padding: 10px;
}
.inner {
  flex-basis: 258px;
  flex-shrink: 0;
  display: flex;
  flex-grow: 0;
  background: green;
}
.inner2 {
  width: 258px;
  flex-shrink: 0;
  display: flex;
  flex-grow: 0;
  background: green;
}
<div class="outer">
  <div class="middle">
    <div class="inner">
      hello
    </div>
  </div>
</div>

<div class="outer">
  <div class="middle">
    <div class="inner2">
      hello
    </div>
  </div>
</div>

是说明我遇到的问题的示例。我期望两行看起来都一样,但是,当使用flex-basis(行1)时,flex容器(.middle元素)似乎忽略了其子.inner元素元素)的固有宽度,并且只考虑了文本。

在最新版本的Chrome,FF和Safari中(但在IE11 / Edge中不是),可以观察到这种差异。

澄清:我不是在问为什么IE11 / Edge会表现出它的行为方式。在我看来,它的行为(在这种情况下)实际上是合乎逻辑的。我在问为什么其他所有浏览器都不同。

更新:Edge 13的行为类似于IE11。

德雷莫拉

这似乎是一个错误。如果元素是通过flex设置的,则既是flex容器又是flex项目的元素似乎忽略了其子元素的固有尺寸flex-basis,而是选择测量其子元素内容的宽度/高度。具有讽刺意味的是,IE11 / Edge是唯一可以正确实现此功能的浏览器。

铬虫追踪器

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

宽度和柔韧性基准之间的差异

来自分类Dev

显示:柔韧性和图像大小/居中

来自分类Dev

垂直填充角材料和柔韧性

来自分类Dev

使柔韧性盒内的div收缩包装

来自分类Dev

展示影响儿童的内向柔韧性?

来自分类Dev

柔韧性影响内部内联元素

来自分类Dev

带/不带柔韧性的盒子定位

来自分类Dev

柔韧性:水平超出屏幕

来自分类Dev

一个柔韧性容器中的柔韧性框砌体

来自分类Dev

窗口变小时,柔韧性项目不会收缩

来自分类Dev

角度材质的柔韧性-在fxLayout中滚动

来自分类Dev

CSS Flex Box:如何在不损失柔韧性项目高度的情况下将“柔韧性项目”垂直对齐到中间?

来自分类Dev

如何使柔韧性容器不强制在身体上滚动

来自分类Dev

强制在柔韧性盒中断开并将项目显示到下一列

来自分类Dev

相对和固定百分比宽度之间的差异

来自分类Dev

通过.animate()和.css()设置宽度之间的差异

来自分类Dev

基准测试和Windows复制在外部HDD速度之间的差异

来自分类Dev

我设置的高度和宽度值与返回的高度和宽度值之间存在差异的原因是什么?

来自分类Dev

[]和[]()之间的差异

来自分类Dev

“ +:”和“ ::”之间的Scala差异

来自分类Dev

<%=和<%#之间的差异?

来自分类Dev

[[]]和[]之间的R差异

来自分类Dev

$和()之间的差异

来自分类Dev

\%和%%之间的差异

来自分类Dev

<%和<%=之间的差异

来自分类Dev

$ @和$ *之间的差异

来自分类Dev

使用%% A和%A%之间的差异

来自分类Dev

之间的差异| 和$

来自分类Dev

.eq。之间的差异 和==