div盒子水平垂直居中方法

2022-02-16 08:30:14 字數 2941 閱讀 2130

這個問題比較老,方法比較多,各有優劣,著情使用。

一、盒子沒有固定的寬和高

方案1、transforms 變形

這是最簡單的方法,不僅能實現絕對居中同樣的效果,也支援聯合可變高度方式使用。內容塊定義transform: translate(-50%,-50%)  必須加上

top: 50%; left: 50%;

優點:

1.      內容可變高度

2.      **量少

缺點:

1.      ie8不支援

2.      屬性需要寫瀏覽器廠商字首

3.      可能干擾其他transform效果

4.      某些情形下會出現文字或元素邊界渲染模糊的現象

<

div

class

>

我不知道我的寬度和高是多少,我要實現水平垂直居中。

div>

}方案二2、在父級元素上面加上上面3句話,就可以實現子元素水平垂直居中。

<

div

class

>

我不知道我的寬度和高是多少,我要實現水平垂直居中。

div>

width: 500px;

height: 300px;

background: orange;

color: #fff;

/*只需要在父元素上加這三句*/

justify-content: center; /*子元素水平居中*/

align-items: center; /*子元素垂直居中*/

display: -webkit-flex;

}二、盒子有固定的寬和高

方案1、margin 負間距

此方案**關鍵點:1.必需知道該div的寬度和高度,

2.然後設定位置為絕對位置,

3.距離頁面視窗左邊框和上邊框的距離設定為50%,這個50%就是指頁面視窗的寬度和高度的50%,

4.最後將該div分別左移和上移,左移和上移的大小就是該div寬度和高度的一半。

<

div

class

>

我知道我的寬度和高是多少,我要實現水平垂直居中。

div>

}方案2、margin:auto實現絕對定位元素的居中(該方法相容ie8以上瀏覽器)

此方案**關鍵點:1、上下左右均0位置定位;

2、margin: auto;

<

div

class

>

我不知道我的寬度和高是多少,我要實現水平垂直居中。

div>

}

這個問題比較老,方法比較多,各有優劣,著情使用。

一、盒子沒有固定的寬和高

方案1、transforms 變形

這是最簡單的方法,不僅能實現絕對居中同樣的效果,也支援聯合可變高度方式使用。內容塊定義transform: translate(-50%,-50%)  必須加上

top: 50%; left: 50%;

優點:

1.      內容可變高度

2.      **量少

缺點:

1.      ie8不支援

2.      屬性需要寫瀏覽器廠商字首

3.      可能干擾其他transform效果

4.      某些情形下會出現文字或元素邊界渲染模糊的現象

<

div

class

>

我不知道我的寬度和高是多少,我要實現水平垂直居中。

div>

}方案二2、在父級元素上面加上上面3句話,就可以實現子元素水平垂直居中。

<

div

class

>

我不知道我的寬度和高是多少,我要實現水平垂直居中。

div>

width: 500px;

height: 300px;

background: orange;

color: #fff;

/*只需要在父元素上加這三句*/

justify-content: center; /*子元素水平居中*/

align-items: center; /*子元素垂直居中*/

display: -webkit-flex;

}二、盒子有固定的寬和高

方案1、margin 負間距

此方案**關鍵點:1.必需知道該div的寬度和高度,

2.然後設定位置為絕對位置,

3.距離頁面視窗左邊框和上邊框的距離設定為50%,這個50%就是指頁面視窗的寬度和高度的50%,

4.最後將該div分別左移和上移,左移和上移的大小就是該div寬度和高度的一半。

<

div

class

>

我知道我的寬度和高是多少,我要實現水平垂直居中。

div>

}方案2、margin:auto實現絕對定位元素的居中(該方法相容ie8以上瀏覽器)

此方案**關鍵點:1、上下左右均0位置定位;

2、margin: auto;

<

div

class

>

我不知道我的寬度和高是多少,我要實現水平垂直居中。

div>

}

div水平垂直居中方法總匯

方法一 絕對定位方法 不確定當前div的寬度和高度,採用transform translate 50 50 當前div的父級新增相對定位 position relative children方法二 絕對定位方法 確定當前div寬度和高度嗎,margin值為當前div寬度一半的負值。children方...

div盒子水平垂直居中的方法

這個問題比較老,方法比較多,各有優劣,著情使用。一 盒子沒有固定的寬和高 方案1 transforms 變形 這是最簡單的方法,不僅能實現絕對居中同樣的效果,也支援聯合可變高度方式使用。內容塊定義transform translate 50 50 必須加上 top 50 left 50 優點 1.內...

移動端水平垂直居中 盒子垂直水平居中方案

盒子垂直水平居中的需求在專案中可以說是非常常見的,我在開發過程中常用的以下幾種方法 首先,做一下基礎的布局 定位利用絕對定位使得盒子在父容器中水平垂直居中,是簡單有效的方法,在實際開發中用的很多 container box 但是這種方法在子元素寬高不確定的情況下就不適用了。由於 css3 的出現,有...