html - 防止孩子拉伸父容器
问题描述
我有一个带有两个孩子的固定位置容器元素。两个孩子都包含文本。我希望其中一个孩子动态设置容器的宽度及其内容。我希望其他孩子的文本根据该宽度适当换行。
例如:
.container {
position: fixed;
}
.wrap {
background: red;
}
.stretch {
background: green;
}
<div class="container">
<div class="wrap">
this text is very very long
</div>
<div class="stretch">
shorter text
<div>
</div>
在此示例中,我希望容器的宽度与较短的 green 匹配.stretch
div
。我希望红色.wrap
div
具有相同的宽度,其中包含文本,例如:
解决方案
我想出的解决方案是:
- 孩子
div
需要拉伸它的宽度取决于它的内容->max-content
- 父母的宽度需要尽可能缩小取决于它的内容- >
min-content
具有变体行为的解决方案代码:
.container {
width: min-content;
border: 2px solid blue;
margin: 5px;
}
.wrap {
background: red;
width: auto; /* default btw */
}
.stretch {
background: green;
width: max-content;
}
<div class="container">
<div class="wrap">
this text is very very long
</div>
<div class="stretch">
shorter text
</div>
</div>
<div class="container">
<div class="wrap">
shorter
</div>
<div class="stretch">
shorter text
</div>
</div>
<div class="container">
<span class="wrap">
shorter
</span>
<div class="stretch">
shorter text
</div>
</div>
您可以从此答案或规范中阅读有关 min-content 和 max-content 的更多信息。
min-content
inline size:一个盒子可以采用的最窄的 inline 大小,不会导致inline-dimension 溢出,这可以通过选择更大的inline size来避免。粗略地说,如果盒子内的所有软包装机会都被采用,将适合其内容的内联尺寸。
推荐阅读
- mysql - 在数据库中加载本地文件时忽略某些信息?
- tensorflow - 频谱图的形状究竟意味着什么?
- python - 将字符串格式更改为日期时间格式或通过 Python 将它们分开?
- python - 如何在熊猫字符串列表中的每个字符串上迭代代码
- javascript - 我的代码没有做我认为应该做的事情,有什么想法吗?
- r - 根据定义的 i 创建具有动态列名和重复值的循环
- c - 使用 fscanf 在 C 中使用分隔符的问题
- dataframe - 格式化数据框中多列的数据
- microsoft-teams - 向 Microsoft Teams Calling Bot 语音呼叫者的发起者发送主动聊天消息
- python - 没有合并的堆叠条形图的问题