首先將與
的高度設定為
100%
(為演示父元素不定寬高的效果),並清除的預設樣式。
html,body
垂直居中大致分為兩類,父元素定寬高與父元素不定寬高,將兩類樣式以及子容器設定好。
.set-parent,.dy-parent
.child
.dy-parent
使用margin: auto
使水平居中,將子容器設定為relative
以在不脫離文件流的情況下偏移50%
,由於本身子容器占用一定寬高,會將其撐下,使用margin
使其向上偏移。
若是子容器使用absolute
定位,則父容器應設定為relative
,否則會其相對於static
定位以外的第乙個父元素進行定位,在本示例中會以瀏覽器為基準定位,此外absolute
無法使用margin: auto
水平居中。
原理與position+margin
相同,css3的transform
使得div
向上平移自身高度的50%
。
css3提供calc
函式,能夠進行動態計算。
flex
布局可以說是布局神器,極其強大,絕大部分現代瀏覽器都相容性flex
布局。
grid
布局將網頁劃分成乙個個網格,可以任意組合不同的網格,做出各種各樣的布局,grid
布局與flex
布局有一定的相似性,都可以指定容器內部多個專案的位置。但是,它們也存在重大區別,flex
布局是軸線布局,只能指定"專案"針對軸線的位置,可以看作是一維布局,grid
布局則是將容器劃分成"行"和"列",產生單元格,然後指定"專案"所在的單元格,可以看作是二維布局,可以認為grid
布局比flex
布局強大。
table
中有vertical-align
屬性設定垂直對齊方式。
CSS布局 水平垂直居中
題外話 這是乙個讓人抓狂的問題。html文件結構如下 實現效果 1.子元素已知寬高 給父容器設定相對定位 relative 子元素設定為絕對定位 absolute top left設定為50 margin top margin left分別設定為高寬的一半的負數。outer inner 2.子元素未...
CSS 布局 水平垂直居中
原理 首先利用 absolute 定位把容器塊左頂角對準瀏覽器中心,然後再使用 負 margin 把容器塊向左移動自身寬度的一半,向上移動自身高度的一半,即可以把容器塊的中心移到瀏覽器中心。優點 相容性好 缺點 需要知道寬高,不夠靈活 container原理 首先利用 absolute 定位把容器塊...
CSS水平垂直居中布局
在日常開發中,經常會遇到要求水平垂直居中效果 實現水平垂直居中也是面試高頻考點 水平垂直居中又分兩種情況 1.內容定寬高 2.內容不定寬高 內容定寬高1.絕對定位和負margin值 doctype html en utf 8 水平垂直居中效果 title box content style head...