css - 如何防止多行文本填充父元素的整个宽度
问题描述
假设我有一个具有设定宽度的容器元素。我有一个带有显示内联块的内容元素,可以包含一些文本。此文本可能太大,以至于必须填充多行。这样做的问题是多行文本的默认行为是将元素增长到父元素的完整宽度。
想象以下示例:
HTML:
<div class="container">
<div class="content">
Firstreallongword11 Secondalsolongword22 Thirdwordthatisconsiderablylonger
</div>
</div>
CSS:
.container {
width: 260px;
border: solid blue 1px;
}
.content {
display: inline-block;
background: red;
}
因为这些是长词,它们将被放置在多行上。我对.content
元素的期望是,它会增长到单行上最大单词的最大宽度。但是正如你所看到的,因为它由多行组成,所以元素会增长到.container
.
我想要实现的是,.content
获得单行上最大项目的宽度,就像使用一个单行一样:
有没有办法用纯 css/html 来实现这一点?
解决方案
简单的答案是:不,你不能用纯 CSS 做到这一点。
但无论如何,这里有一个解决方案,这有点小技巧:它display: table-cell;
用于.content
元素,以及一个相当小的width
值(它将调整为最长单词的实际值,在这种情况下就像一个min-width
设置):
.container {
width: 260px;
border: solid blue 1px;
}
.content {
display: table-cell;
width: 100px;
background: red;
}
<div class="container">
<div class="content">
Firstreallongword11 Secondalsolongword22 Thirdwordthatisconsiderablylonger
</div>
</div>
推荐阅读
- css - 为什么我的背景图像会根据屏幕分辨率变大?
- excel - 如何使用 MS Excel 分隔符在有数字的地方拆分单词
- ansible - 如何在ansible中使paramiko CryptographyDeprecationWarnings静音
- python - 带有 Raspberry Pi 的步进电机仅适用于 GPIOZero 的一些延迟时间
- ms-access - 访问:将组合框绑定到记录集,但不允许在更改/更新时更改记录集
- css - 属性值在 css 上的文本阴影处无效
- angular - 如何在指令字段中使用翻译?
- c++ - 数组和它的地址有什么关系?
- android - Android中的ProgressBar只有在完成一些操作后才会显示
- php - 错误:不存在“Access-Control-Allow-Origin”标头。虽然我加了