2 回答

TA貢獻(xiàn)1887條經(jīng)驗(yàn) 獲得超5個(gè)贊
我看到你正在使用display: table
來(lái)達(dá)到這種效果。我強(qiáng)烈建議您先閱讀更多內(nèi)容,然后再繼續(xù)您的工作或項(xiàng)目。您必須了解的一些布局概念是grid和flex。對(duì)于您的情況,我們可以使用彈性盒概念來(lái)解決您的問(wèn)題。
flex
基本上是一種可以更輕松地在項(xiàng)目之間分配空間的方法。flex-grow
就您而言,您可以通過(guò)使用和來(lái)獲得您想要實(shí)現(xiàn)的目標(biāo)flex-basis
。flex-basis
定義彈性容器內(nèi)的項(xiàng)目最初應(yīng)該有多長(zhǎng)/多高。flex-grow
定義彈性容器內(nèi)的項(xiàng)目如何根據(jù)容器的剩余空間擴(kuò)展(增長(zhǎng))寬度/高度。
對(duì)于您的情況,我們可以簡(jiǎn)單地將 Flex 容器的寬度(您的包裝 div)設(shè)置為 100%。為了在項(xiàng)目之間均勻分配空間,我們可以將所有項(xiàng)目的初始寬度設(shè)置為 0。然后,將每個(gè) Flexbox 項(xiàng)目的容器剩余空間(仍然是 100%)平均分配為 1。flex-grow
但是,這將使所有項(xiàng)目的寬度相似。要使中心 div 更寬,可以將 設(shè)為flex-grow
2。這將使左側(cè) div、中心 div 和右側(cè) div 的寬度分別為容器剩余空間的 25%、50% 和 25%。我真的建議進(jìn)一步閱讀有關(guān) Flex 的內(nèi)容,以理解我的意思。在上面的鏈接中閱讀了有關(guān) flex 的內(nèi)容后,請(qǐng)嘗試訪問(wèn)此和此以了解有關(guān)flex-basis
和 的更多信息flex-grow
。
這是一個(gè)使用的可行解決方案flex
。再次,我建議您閱讀更多有關(guān) Flex 的內(nèi)容,以便您可以更好地使用 Flex。
* {
? box-sizing: border-box;
? margin: 0;
? padding: 0;
? font-family: Helvetica;
}
body,
html {
? width: 100%;
? height: 100%;
}
#wrapper {
? display: flex;
? width: 100%;
}
#wrapper * {
? padding: 30px;
? text-align: center;
? color: white;
}
.left-align,
.right-align {
? flex-basis: 0;
? flex-grow: 1;
}
.center-align {
? flex-basis: 0;
? flex-grow: 2;
}
.left-align {
? background: #121212;
}
.center-align {
? background: #232323;
}
.right-align {
? background: #454545;
}
<div id="wrapper">
? <div class="left-align">Some content</div>
? <div class="center-align">Some content</div>
? <div class="right-align">Some content</div>
</div>

TA貢獻(xiàn)1155條經(jīng)驗(yàn) 獲得超0個(gè)贊
我為您的布局創(chuàng)建了一個(gè)簡(jiǎn)單的示例。您可以使用 flex box ie 來(lái)實(shí)現(xiàn)它
.box{
display: flex;
width:100%;
justify-content:space-between;
}
這是鏈接: https: //codesandbox.io/s/optimistic-euclid-xmv6h
希望它能回答您的問(wèn)題。
- 2 回答
- 0 關(guān)注
- 115 瀏覽
添加回答
舉報(bào)