html - 显示 : inline-block does not make width as small as possible with wrapped contents

标签 html css

我有一个 div,上面设置了 inline-blockmax-width,还有一些文本内容可能包在里面。我的问题是 div 总是采用可能的最大宽度,但前提是文本换行。我希望使 div 的宽度尽可能小,以响应文本换行。

div {
 
  max-width: 120px;
  width: auto;
  display: inline-block;

  border: 1px solid black;    
  padding: 0.2rem;
  
}
<div>Reallylongword test</div>

实际结果:
Actual Result

期望的结果:
Desired Result


这也不适用于限制父级的 width

我四处搜索,我的代码使用的是 this method .我也试过this ( Fiddle ),但它不起作用。 我知道使用 word-break: break-all,但这真的很难看。

谢谢。


更新

我正在尝试制作一个导航栏。目前使用的是 flexbox,而不是 display: inline-block。我只是(或者至少我认为我做到了)将问题隔离到单个导航元素。显然,并非所有答案似乎都符合我原来的导航栏问题。对不起。如果我没有得到我的实际问题的答案,我将保留原始帖子。

最佳答案

来自 this answer在您的一个链接问题中:display: table-caption 而不是 inline-block 做您想要的。

div {
  max-width: 120px;
  width: auto;
  display: table-caption;

  border: 1px solid black;    
  padding: 0.2rem;
}
<div>Reallylongword test</div>

关于html - 显示 : inline-block does not make width as small as possible with wrapped contents,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41389292/

相关文章:

jquery - 加载时显示页面移动版本的图像

javascript - 如何将自定义 HTML map 标记添加到诺基亚 HERE map ?

html - Bootstrap Collapse 错误地展开表

python - Django:如何从 .css 文件链接到静态文件目录?

javascript - 如何简化重复的函数

html - Magento - 更改产品列表页面上 "Sort By"选项框的对齐方式?

javascript - 单击调查表中的提交后的用户详细信息表单

Javascript - 根据视频的重复更改文本

image - 叠加在带有名称的图像上

html - 无法在 CSS 中使用逗号组合选择器