【发布时间】:2014-07-18 03:47:51
【问题描述】:
我正在使用 CSS 中的 flexbox 系统,但我不知道如何解决我的问题。
如果我有一个长文本框,它分成两行,框会增长到可用的全宽,我不希望这样。如果文本在多行上,那么我希望框增长到最长行的宽度。好吧,我的英语不太好,所以我有图片来更好地展示我想要实现的目标。
这就是我现在拥有的:
这就是我想要的:
我在谷歌(和 stackoverflow)中寻找现成的解决方案,但没有运气。 我还为此准备了 JSFiddle:http://jsfiddle.net/f98VN/4/
是否可以做我想做的事,如果可以,我该如何实现?如果没有,您有什么建议?
代码:
HTML
<div class="flex-parent">
<div class="item1"></div>
<div class="item2">text is here</div>
<div class="item1"></div>
</div>
CSS
.flex-parent {
display: flex;
justify-content: center;
width: 550px; /* it has width of the whole page, in fiddle I changed it to fixed */
align-items: center;
}
.item1 {
background: red;
height: 100px; /* it has constant width */
width: 100px;
}
.item2 { /* it's width is fluid, depends on text inside which is modified by JS */
background: pink;
font-size: 100px;
}
【问题讨论】:
-
在你的第一个 CSS 样式上尝试过 100% 宽度?
-
尝试调整子代jsfiddle.net/f98VN/8 和 align-self 的 flex 值。但如果文本不同jsfiddle.net/f98VN/9,则需要重新调整。