我今天嘗試了一些基本的CSS,並且偶然發現了一個問題。我希望有人能幫助我。我如何垂直居中對齊一個位置:相對元素
如何垂直居中對齊父容器到具有相對位置的畫布?父容器有一個位置爲:絕對的子元素。子元素已定位到父容器的中心。
我爲此創建了一個JSFiddle。 http://jsfiddle.net/exmRf/
乾杯, 維恩。
我今天嘗試了一些基本的CSS,並且偶然發現了一個問題。我希望有人能幫助我。我如何垂直居中對齊一個位置:相對元素
如何垂直居中對齊父容器到具有相對位置的畫布?父容器有一個位置爲:絕對的子元素。子元素已定位到父容器的中心。
我爲此創建了一個JSFiddle。 http://jsfiddle.net/exmRf/
乾杯, 維恩。
一種解決方案來包裝你.container
有兩個包裝;給第一個display: table;
和height: 100%; width: 100%;
和第二個display: table-cell;
和vertical-align: middle;
。還要確保你的body
和html
有全高。
這是一個小工作演示:little link。
另一種方法是將top: 50%;
應用於您的.container
和margin-top: -150px;
(300px/2 = 150px
)。 (請注意,此方法要求您知道容器的確切高度,因此可能不是,但它可能是!)。後一種方法的一個小工作演示:another little link。
我希望有幫助!
給寬度或邊距一半的頂部
現在習慣了這種CSS你item
left 50%
和top 50%
和保證金左一半
.container{
position: relative;
width: 300px;
height: 300px;
background-color: red;
margin:auto;
}
.item{
position: absolute;
width: 100px;
height: 100px;
background-color: blue;
left:50%;
top:50%;
margin-left:-50px;
margin-top:-50px;
}
如果使用不定位比用於此http://jsfiddle.net/exmRf/16/
哇,謝謝!它的工作,只是好奇,是唯一的方法來做到這一點?這是最優雅的方式嗎?我正在尋找一種適用於現代瀏覽器的解決方案。所以過時的瀏覽器對我來說並不重要。 – Vennsoh
@Vennsoh檢查我的更新的答案爲另一種解決方案。 – Chris
謝謝!我從來不知道爲什麼身體需要身高:100%才能使其發揮作用?任何快速答案? – Vennsoh