css - flex 盒子元素的显示属性的使用

标签 css flexbox

更改 flex 盒元素的显示属性是否有任何好处或理由?

特别是,我对使用 display:blockdisplay:inline-block 很感兴趣

最佳答案

来自 the specifciation :

The display value of a flex item is blockified: if the specified display of an in-flow child of an element generating a flex container is an inline-level value, it computes to its block-level equivalent. (See CSS2.1§9.7 [CSS21] and CSS Display [CSS3-DISPLAY] for details on this type of display value conversion.)

所以基本上,设置 inline-blockblock 将不会执行任何操作,因为两者都将被计算为 block 但您可以设置 tableinline-table 并且您的 flex 元素将表现为表格。如果您设置 inline-gridgrid

也是一样

.box {
  display: flex;
  margin:5px;
}

.box>div {
  height: 50px;
  width: 100%;
  background: red;
  display: grid;
  grid-template-columns: 200px 1fr;
  grid-template-rows: 1fr;
  grid-gap: 20px;
}

span {
  border: 2px solid green;
}
<div class="box">
  <div>
    <span></span>

    <span></span>
  </div>
</div>

<div class="box">
  <div style="display:inline-grid;">
    <span></span>

    <span></span>
  </div>
</div>

对于第二种情况,您可以看到它计算到 grid

enter image description here

关于css - flex 盒子元素的显示属性的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55380453/

相关文章:

css - 顶行的底部可以在没有包装的情况下绝对定位吗?

html - 如何对齐我的 flexbox 元素并使它们大小相同?

css - flex 容器中的绝对定位元素在 IE 和 Firefox 中仍被视为元素

html - Flexbox:居中正文内容

html - 无法从自定义 css 文件中的免费下载模板更改 css - 没有效果,这是为什么?

css - 试图在谷歌地图搜索 : difficulty align using css and bootstrap 旁边添加一个按钮

javascript - 让div在页面加载时不显示,然后在函数运行时显示 block

html - Flexbox order 属性无法对元素进行排序?

html - 使容器 div 成为一个子 div 的高度,并使另一个子 div 成为容器的高度

javascript - 如何在 css 中获取页面宽度。