![](/img/trans.png)
[英]How do I make my flex container continue on the same line rather than taking up a whole new row like beside a logo on the website?
[英]How do I make my flex cell fill up its whole space?
每當我在框上使用 hover 時,單元格的背景會占據整個寬度(由於width: 100%
),但是當我對高度執行相同操作時,它不會這樣做。 父母沒有任何填充,所以我該如何解決這個問題?
我查看了“ https://css-tricks.com/boxes-fill-height-dont-squish/ ”之類的鏈接並嘗試使用flex-grow
但它似乎對我不起作用,但我可能搞砸了它了。
div { display: flex; flex-direction: row; background-color: lightgray; text-align: center; justify-content: space-evenly; } div p { font-size: 20px; color: black; font-weight: bold; width: 100%; height: 100%; } div p:hover { background-color: green; }
<div> <p>Header1</p> <p>Header2</p> <p>Header3</p> </div>
段落元素上設置了默認邊距。
您需要禁用這些,而是為容器指定高度。
div { display: flex; justify-content: space-evenly; height: 75px; background-color: lightgray; } div p { margin: 0; /* override default margins */ flex: 1; /* consume full width */ display: flex; /* for aligning content of flex item */ align-items: center; justify-content: center; font-size: 20px; color: black; font-weight: bold; } div p:hover { background-color: green; }
<div> <p>Header1</p> <p>Header2</p> <p>Header3</p> </div>
理解“塊啟動”:
您可以使用span標簽代替p並為其提供填充,如下所示;
div { display: flex; flex-direction: row; background-color: lightgray; text-align: center; justify-content: space-evenly; } div span { font-size: 20px; color: black; font-weight: bold; width: 100%; height: 100%; padding: 25px; } div span:hover { background-color: green; }
<div> <span>Header1</span> <span>Header2</span> <span>Header3</span> </div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.