如何在换行时使父元素缩小?

ste*_*002 8 html css text width

当子元素文本换行到新行时,如何使HTML父元素调整其宽度?我需要使用javascript还是可以用css完成?

以下是一个例子.

ul {
  align-items: stretch;
  justify-content: center;
  background: lightgrey;
  display: flex;
  flex-direction: row;
  height: 80px;
  justify-content: flex-start;
  padding-top: 20px;
  padding-bottom: 20px;
}
li {
  background-color: #303E49;
  display: flex;
  list-style: none;
  margin-right: 0.5em;
}
a {
  color: white;
  text-decoration: none;
  margin: 0.5em 0.5em 0.5em 0.5em;
  border: 1px solid white;
}
Run Code Online (Sandbox Code Playgroud)
Resize this window horizontally to see what I am talking about.

<ul>
  <li>
    <a href="#">HowCanIMakeThisBoxShrink
            WhenTheTextBreaksToANewLine?</a>
  </li>
  <li>
    <a href="#">Text</a>
  </li>
  <li>
    <a href="#">Text</a>
  </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

我需要容器元素<li></li>宽度来匹配其子元素的文本宽度<a></a>.在我当前的实现中<a></a>,当文本中断到新行时,宽度减小,而不是宽度<li></li>

谢谢

Joh*_*ohn 0

目前,您只有强制这些 div 打开的内容。如果您定义了这些 div 的宽度,您应该会获得您想要的效果。像这样的东西会创建一个均匀的三列布局:

li{
   width: 33.33%;
}
Run Code Online (Sandbox Code Playgroud)

然而,听起来您想要比静态三列布局更动态的东西,但我不太确定您在寻找什么。如果我上面的解决方案没有帮助,您能否更详细地解释一下您正在寻找的内容?