我有2個div我需要水平排列,我知道第二個的寬度,我需要第一個採取所有剩餘的自由空間。任何人都可以幫助我,並告訴我的CSS爲了實現這一目標?align divs horrizontaly - 第一個採取所有水平可用空間
回答
你可以做這樣的事情:
<div style="width:500px;">
<div style="width:100px;float:right;background-color:cyan;">bar</div>
<div style="margin-right:100px;background-color:magenta">foo</div>
</div>
條漂浮在右邊100像素,在Foo的保證金的頂部。 foo需要其他400px。
儘管我的答案可行,但我相信這是最好的解決方案。 – Dave
嘗試將第二容器的寬度設置爲您已知值,第一個對width:100%;
這樣,第一個將會佔用所有可用空間,第二個將會在 –
嘗試做這樣的事情:
<div style="width:200px; float:left;"></div>
<div style="width:auto;"></div>
下不起作用,第一個應該是自動的,第二個應該是固定寬度的,然後右移......但即使如此,第二個一會根據 –
您可以使用百分比,這是很方便的時候你不關心確切的寬度。如果你需要一個確切的寬度,使用javascript來獲得你知道的div的offsetwidth,並浮動兩個div。然後,相應地設置其他div的寬度。我要提醒的是,將其他div的值設置爲像素 - 如果用戶調整窗口大小,則必須考慮更多工作。如果你不需要它是完全準確的,將另一個div設置爲百分比,這將自動處理窗口大小調整。 其他問題也隨之出現,但基本上這是實現它的一種方式。
你要求的是有點棘手。但是,這應該工作...
這樣做有什麼用DIV定位。這應該是跨瀏覽器兼容的。我這樣做的原因是,沒有簡單的方法來說「有兩個兄弟的div,其中一個消耗所有可用空間」,而沒有將第二個div推向右側。
例如,如果您嘗試使用百分比你要麼推DIV向右或拿出短:
<div style="width: 200px; height: 100px;">
<div style="width: 100%; height: 100%; float: left;"></div>
<div style="width: 90px; height: 100%; float: left;"></div>
<div style="clear: both;"></div>
</div>
所以不是,我建議你重疊第二個div到第一個使用絕對positiong,像這樣:
<div style="width: 200px; height: 100px; position: relative;">
<div style="width: 100%; height: 100%; float: left; position: relative;"><!-- Content of first div here --></div>
<div style="width: 90px; height: 100%; float: left; position: absolute; right: 0; top: 0;"><!-- Content of second div here --></div>
</div>
你要記住這裏的一件事是,你的第一個div的內容將在第二個div下去,如果它變得太寬 - 所以你可能需要限制寬度!
做好,工作幾乎完美,問題是第二個div高度大於第一個,絕對位置父母不會增加其高度 –
我推薦@ Tim-goodman的回答。 – Dave
- 1. DIVS之間的水平空白區域
- 2. Divs:等距水平間距
- 3. 水平和垂直填充所有可用空間,使用div
- 4. Div取整個水平空間
- 5. align divs on center/left
- 6. 採取從可用空間和存儲所需的空間可變
- 7. 如何讓一個表格列填充所有備用水平空間?
- 8. CSS:Size divs所以中間div使用所有剩餘的空間
- 9. 在兩個拆分div採取所有可用的垂直空間
- 10. 水平空間CSS
- 11. 水平和垂直可排序的divs
- 12. jQuery可排序佔位符水平divs
- 13. 多少空間一個TextView採取
- 14. CSS:什麼導致我的divs之間的這些小水平空間?
- 15. 如何使格採取第一空空間
- 16. 帶有DataList和DIVs的水平表?
- 17. 水平divs彼此重疊?
- 18. 水平對齊內部`divs`
- 19. CSS - 使divs水平對齊
- 20. 水平對齊3 divs
- 21. 如何水平對齊divs?
- 22. 水平滾動中的邊框底部之間有一個空白空間
- 23. CSS:四個divs,第三個必須佔用剩餘的空間
- 24. 如果屏幕上沒有水平空間,請轉到下一個垂直可用空間?
- 25. divs之間不需要的水平邊距
- 26. 如何使一個空div採取空間
- 27. 如何使TabbedPannel的選項卡填充所有水平空間?
- 28. Flexbox - align-self:水平彎曲端
- 29. 佔用可用水平空間的網格項目
- 30. 填充水平空間
有不同的方法來實現這一點,並非常依賴於您的設計。它可以浮動並且保證金正確,或者您可以重新定位。 –