CSS+DIV間接對齊
在前端開發中,要實現一些頁面布局時,我們常常需要用到CSS和DIV的組合。然而,有時候我們需要讓兩個DIV間接對齊,這時候該怎么辦呢?下面我們就來介紹一下這個問題的解決方法。
首先,我們需要明確一點:CSS中的絕對定位(position:absolute)是相對于最近的定位祖先元素確定元素的位置的。所以,如果我們需要讓兩個DIV間接對齊,需要先找到它們的最近的定位祖先元素。
接著,我們需要在這個最近的定位祖先元素里面再嵌套一個父DIV,來實現間接對齊。具體代碼如下所示:
/*最近的定位祖先元素*/ .parent { position: relative; } /*要對齊的兩個DIV*/ .child1 { width: 50%; height: 50px; background-color: red; } .child2 { width: 50%; height: 50px; background-color: green; } /*間接對齊的父DIV*/ .wrapper { position: absolute; top: 0; left: 0; right: 0; bottom: 0; text-align: center; /*水平居中*/ } /*將父DIV內的兩個DIV居中對齊*/ .wrapper:before { content: ''; display: inline-block; height: 100%; vertical-align: middle; margin-right: -0.25em; /*撐開前面的空白*/ } .wrapper .child { display: inline-block; vertical-align: middle; }以上代碼中的.parent元素即為最近的定位祖先元素,而.wrapper元素則為新嵌套的父DIV。我們將兩個要對齊的DIV添加到.wrapper元素內,并通過:before選擇器和.child選擇器來居中對齊。 通過這種方式,我們就可以間接地實現兩個DIV之間的對齊了。這種方法也適用于更多的DIV的間接對齊。