min-content

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2020 年 1 月⁩ 起,所有主流浏览器均已支持。

min-content 尺寸关键字表示元素的最小内在尺寸。该关键字将元素缩小到尽可能小的尺寸,而不会导致其内容出现不必要的溢出。对于文本内容,该关键字会导致内容在每个可能的换行点(例如单词之间的空格)处换行,并且元素的宽度将只与最长的单词一样宽。

interpolate-size 属性和 calc-size() 函数可用于启用到和从 min-content 的动画。

语法

css
/* Used as a length value */
width: min-content;
inline-size: min-content;
height: min-content;
block-size: min-content;

/* Used in grid tracks */
grid-template-columns: 200px 1fr min-content;

示例

使用 min-content 调整盒子大小

HTML

html
<div class="item">Item</div>
<div class="item">Item with more text in it.</div>

CSS

css
.item {
  width: min-content;
  background-color: #8ca0ff;
  padding: 5px;
  margin-bottom: 1em;
}

结果

使用 min-content 调整网格列大小

HTML

html
<div id="container">
  <div>Item</div>
  <div>Item with more text in it.</div>
  <div>Flexible item</div>
</div>

CSS

css
#container {
  display: grid;
  grid-template-columns: min-content min-content 1fr;
  grid-gap: 5px;
  box-sizing: border-box;
  height: 200px;
  width: 100%;
  background-color: #8cffa0;
  padding: 10px;
}

#container > div {
  background-color: #8ca0ff;
  padding: 5px;
}

结果

规范

规范
CSS Box Sizing Module Level 3
# valdef-width-min-content

浏览器兼容性

另见