CSS当内联块元素换行时,父包装不适合新宽度

如果内容行因屏幕宽度而中断,如何使内联块元素适合其内容宽度

<!——父内联块-->
<div style='display:inline块;'&燃气轮机;
<div style='display:内联块;宽度:200px;'&燃气轮机&lt/部门>
&lt--
如果这条线断了,
两个200px宽的块垂直堆叠。
这将使父级宽度为200px,
但父母的范围远不止这些
--&燃气轮机;
<div style='display:内联块;宽度:200px;'&燃气轮机&lt/部门>
&lt/部门>

我想不出如何表达这个问题,让它听起来很简单,但我把一个简单的JSFiddle放在了一起

#wide{
位置:相对位置;
宽度:100%;
边框:1px纯黑;
填充物:5px;
}
#狭窄的{
位置:相对位置;
宽度:175px;
边框:1px纯黑;
填充物:5px;
}
.包裹{
显示:内联块;
边框:1px纯绿色;
保证金:自动;
}
.inlineblock{
显示:内联块;
垂直对齐:顶部;
背景:红色;
最小宽度:100px;
最小高度:100px;
边框:1px纯黑;
}
<节id='wide'>
<div class='wrap'>
<div class='inlineblock'&gt&lt/部门>
<div class='inlineblock'&gt&lt/部门>
&lt/部门>
&lt/第节>
<p>
当红色内联块被强制换行时,如何使用display:inline块(绿色边框)使父对象对齐?你如何摆脱所有额外的水平空间在较低的绿色边框div?
&lt/p>
<节id='窄'>
<div class='wrap'>
<div class='inlineblock'&gt&lt/部门>
<div class='inlineblock'&gt&lt/部门>
&lt/部门>
&lt/第节&gt

你不能。默认情况下,内联块元素具有收缩以适应宽度:

收缩到合适的宽度为:
min(最大值(首选最小宽度、可用宽度)、首选宽度)

那么

  • 首选最小宽度<=首选宽度<=可用宽度,宽度将是您想要的首选宽度
  • 可用宽度<=首选最小宽度<=首选宽度,宽度将是您想要的首选最小宽度
  • 首选最小宽度<=可用宽度<=首选宽度,宽度将是可用宽度,即使您不喜欢它

如果你真的不想这样,我想你可以用JS添加一个resize事件监听器,并手动设置所需的宽度

发表评论