我使用柔性顯示器有一個輸入元素和我設置其flex-basis
寬度像這樣:製作祖先Flexbox的申報單隻佔用其子的寬度與一組寬度
.flex-row input { flex: 0 1 450px; }
和flex-row
DIV包含內flex-container
股利。
我希望flex-row
只佔用輸入所需的寬度。
當我給flex-container
display: flex
它佔用100%的寬度。
當我給它display: inline-flex
它壓縮輸入,使其比450px小得多。
我並不關心flex-container
的寬度,雖然它也會很好地佔用其子寬度,但我怎樣才能使flex-row
與輸入寬度相同(即,當有足夠的空間時,450px)?
.flex-container {
display: flex;
}
.flex-row {
display: flex;
flex: 1;
align-items: center;
justify-content: center;
}
.flex-row input {
flex: 0 1 450px;
}
<div class="flex-container">
<div class="flex-row">
<input type="text" name="query" class="searchbar" />
</div>
</div>
和here是一個小提琴例子。
您是否考慮過將'flex-row'設置爲450px,然後讓子輸入只需用'flex:1'填充? https://jsfiddle.net/5wksaj72/2/ –
我做了,但我的HTML比這複雜一點。我有多個對象,而不僅僅是一個輸入元素,在多個彈性行內。 – user3494047
@Michael_B也許我應該更新我的問題,但[這裏](https://jsfiddle.net/5wksaj72/3/)是一個更準確的圖片,我的情況看起來像,雖然我猜[this](https:// jsfiddle.net/5wksaj72/4/)的作品 – user3494047