Css 为什么设置显示:无内联块div内的元素使内联块不作为内联块渲染;

Css 为什么设置显示:无内联块div内的元素使内联块不作为内联块渲染;,css,Css,.集装箱{ 高度:400px; 最小宽度:200px; 显示:内联块; 边框:1px纯灰; } .项目{ 边框:1px纯灰; 保证金:5px; } 123 123 123 事实上,我不知道确切答案,但我可以为您提供一个解决方案: .集装箱{ 高度:400px; 最小宽度:100px; 显示:内联块; 边框:1px纯灰; } .项目{ 边框:1px纯灰; 保证金:5px; 位置:绝对位置; } 123 123 123 试试看 致: 您可以将显示:无更改为可见性:隐藏,并且可以正常工作 这可以归


.集装箱{
高度:400px;
最小宽度:200px;
显示:内联块;
边框:1px纯灰;
}
.项目{
边框:1px纯灰;
保证金:5px;
}
123
123
123

事实上,我不知道确切答案,但我可以为您提供一个解决方案:


.集装箱{
高度:400px;
最小宽度:100px;
显示:内联块;
边框:1px纯灰;
}
.项目{
边框:1px纯灰;
保证金:5px;
位置:绝对位置;
}
123
123
123
试试看

致:


您可以将
显示:无
更改为
可见性:隐藏
,并且可以正常工作


这可以归类为解决方案:-默认对齐方式为基线,如果div中没有任何内容,则没有基线。如果添加“垂直对齐:顶部”,则可以克服此问题。这就是为什么我上面的“解决方案”有效——可见性:隐藏使元素保持内联状态——而显示:无将其从流程中移除

非常感谢。你知道为什么会发生这种情况吗?我也想知道为什么会发生这种情况,而且每个人都可以提出解决方案,让我们/某人通过看到什么没有破坏它来理解什么被破坏。这可能会被归类为一种解决方案:-默认的对齐方式是基线,在div中没有任何内容,没有基线。如果添加
垂直对齐:top
,则可以克服此问题。这就是我上面的“解决方案”起作用的原因-
可见性:hidden
将元素保留为内联-而
display:none
将其从流程中删除。可能需要将其编辑到您的正确答案中;)是我干的。平静地去吧,很好。FWIW,我试着不再像(我不是最初的评论者)那样对此发脾气。我仍然建议将来在实际答案中,而不是在事后评论中,提供与问题最相关的信息。
.item{
  border: 1px solid grey;
  margin: 5px;
}
.item{
  border: 1px solid grey;
  margin: 5px;
  float:left
  }