我有一个要求,我需要将宽度应用于父元素,该元素等于第一个子元素的宽度.这可以通过使用可以轻松实现display: inline-block或float: left父元素,如果它只有一个子元素.但我在div中有两个以上的子元素.像这样的东西:
<div class="main">
<div class="first">first</div>
<div class="value">valuevalue</div>
</div>
Run Code Online (Sandbox Code Playgroud)
现在,如果我应用于display: inline-block父元素,那么它具有第二个子元素的宽度.

为了不发生这样的,我试过break-word,word-break第二子元素,但仍然没有使用上的CSS属性.
我想要获得的内容将在以下屏幕截图中说明:

一些要点:
我想用css做这个.css3是受欢迎的.(我知道如何使用javascript做到这一点)
您可以使用 CSS3 的新内在和外在宽度值(此 cas 中的 min-content )轻松实现此目的,尽管 IE 不支持它,所以它不是一个可行的选择,但我将发布此内容,因为有趣的是我们将能够将来这样做:
HTML:
<div class="main">
<div class="first">first</div>
<div class="value">valuevaluevalue</div>
</div>
Run Code Online (Sandbox Code Playgroud)
CSS:
.main {
background-color: cornflowerblue;
width: -moz-min-content;
width: -webkit-min-content;
width: min-content;
}
.first {
width: 50px; /* I don't know this width */
height: 50px; /* I don't know this height */
background-color: grey;
}
.value{
word-break: break-all;
}
Run Code Online (Sandbox Code Playgroud)
我想在最坏的情况下,你可以将它用于较新的浏览器,并将 JS 用于 IE 和旧版本。
参考: