有兩個問題。顯示其中沒有任何內容的div?
首先,如果沒有高度的div的設置,並沒有包含在其內部元件 ,會不會他們顯示呢?
其次,根據第一個問題,如果我想顯示 DIV是身高的90%和橫向和 垂直居中,即使它裏面沒有內容,是什麼 css必需?
有兩個問題。顯示其中沒有任何內容的div?
首先,如果沒有高度的div的設置,並沒有包含在其內部元件 ,會不會他們顯示呢?
其次,根據第一個問題,如果我想顯示 DIV是身高的90%和橫向和 垂直居中,即使它裏面沒有內容,是什麼 css必需?
要完全居中一個div(或任何塊元素),你應該在緣陰性組合使用絕對定位。看看這裏:enter link description here。嘗試調整窗口大小:它的定位是自動發生的。
div {
width: 90%; /* Can be a non-percentual number */
margin-left: -45%; /* negative value of element's width/2 | Can be a non-percentual number */
margin-top: -45%; /* negative value of element's height/2 | Can be a non-percentual number */
height: 90%; /* Can be a non-percentual number */
position: absolute;
top: 50%; /* must always be 50% */
left: 50%; /* must always be 50% */
border: 1px solid;
}
當然,當你只使用按百分比值,它是容易只是做數學題:50% - 45%= 5%(澤塔的帖子建議),但我用這個方法來表明該與非百分比值一起工作。 Example。
div {
width: 320px;
margin-left: -160px; /* negative value of element's width/2 */
margin-top: -120px; /* negative value of element's height/2 */
height: 240px;
position: absolute;
top: 50%; /* must always be 50% */
left: 50%; /* must always be 50% */
border: 1px solid;
}
當一個元素沒有特定的高度,並且它沒有內容時,你將不會看到它,不。它會有一個自動寬度(通常是100%),但沒有高度。您可以通過添加邊框使其可見:http://jsfiddle.net/TALAA/2/
@Zeta我很清楚我在做什麼。他們有什麼問題?當給出非百分比寬度時,這是整個網絡中橫向和縱向居中放置元素的最好方法。我在這裏使用了負邊距和上邊/左邊的值來清楚說明,您也可以將它用於非百分比值。 (你的解決方案無法做到這一點)。 –
我發佈後幾乎立即刪除了我的評論,並在我意識到自己的錯誤之後刪除了downvote。我要去喝杯咖啡來預防這種事情。然而,我仍然認爲在這個非常具體的例子中,「頂部:5%;底部:5%」並且沒有「保證金頂部」對於垂直位置是足夠的。 – Zeta
@Zeta當然,但是SO是一個學習的地方,而不是複製和粘貼。所以我認爲最好清楚說明所做的一切,而不是僅僅說:這就是解決方案,玩得開心。但是當他試圖用像素值做到這一點時,他會陷入困境。但是,嘿,沒有難過的感覺。 –
歡迎定位的魔術,其中高度就會自動計算:
#myemptydiv{
position:absolute;
top: 5%; // height gets calculated automatically
bottom: 5%;
width: 600px;
margin: auto;
}
因此,要回答你的第一個問題:沒有,如果有至少不是一個隱含的高度使用定位。第二個問題由上面給出的代碼回答。
參見:
試試吧!測試這個問題比輸入問題要快得多! –