CSS水平居中6種方法與CSS水平垂直居中7種方式

CSS水平居中6種方法 與 CSS水平垂直居中7中方式

一: 水平居中

1. margin: 0 auto (設置當前元素)

<body>

? <!-- 水平居中方法 1 -->

? <div class="center">

? ? <p>水平居中</p>

? </div>

</body>

.center p {

? width: 200px;

? margin: 0 auto;

? background-color: #555;

}

2. 父元素設置: text-align: center

1. 只能對圖片, 按鈕, 文字等 行內元素 (display為inline 或 inline-block等) 進行水平居中 矿筝。

2.? 在 IE6端铛、7 這兩個奇葩的瀏覽器中, 它是能對任何元素進行水平居中的 摔竿。

<body>

? <!-- 水平居中方法 2 -->

? <div class="center2">

? ? <button>按鈕</button>

? </div>

</body>

.center2 {

? ? text-align: center;

}

3. 浮動《 結合 position:relative 》實現(xiàn)水平居中

<body>

? <!-- 水平居中方法 3 -->

? <div class="pagination">

? ? <ul>

? ? ? <li><a href="#">Prev</a></li>

? ? ? <li><a href="#">1</a></li>

? ? ? <li><a href="#">2</a></li>

? ? ? <li><a href="#">3</a></li>

? ? ? <li><a href="#">4</a></li>

? ? ? <li><a href="#">5</a></li>

? ? ? <li><a href="#">Next</a></li>

? ? </ul>

? </div>

</body>

.pagination {

? float: left;

? width: 100%;

? overflow: hidden;

? position: relative;

? background-color: bisque;

}

.pagination ul {

? clear: left;

? float: left;

? position: relative;

? left: 50%;

? text-align: center;

? background-color: #666;

}

.pagination li {

? line-height: 25px;

? margin: 0 5px;

? display: block;

? float: left;

? position: relative;

? right: 50%;

}

.pagination a {

? display: block;

? color: #f2f2f2;

? text-shadow: 1px 0 0 #101011;

? padding: 0 10px;

? border: 1px solid #333;

? border-radius: 2px;

}

.pagination a:hover {

? text-decoration: none;

? box-shadow: 0 1px 0 #f9bd71 inset, 0 1px 0 #0a0a0a;

? background: linear-gradient(top, #f48b03, #c87100);

}

4. position:absolute 絕對定位實現(xiàn)水平居中

1. 適用于父元素和子元素的寬度都確定的情況 潮尝。

2. 父元素 position: relative; 子元素給剩余寬度一半的 margin-left 。

<body>

? <!-- 水平居中方法 4 -->

? <div class="out">

? ? <p class="in">水平居中方法 4</p>

? </div>

</body>

.out {

? background-color: #c87100;

? width: 100%;

? position: relative;

? height: 300px;

}

.in {

? position: absolute;

? left: 50%;

? width: 300px;

? margin-left: -150px;

? background-color: blueviolet;

}

5. display:flex 彈性布局實現(xiàn)居中

6. 通過 transform 實現(xiàn) CSS 水平居中

二: 垂直居中

1. 在父元素中設置 display: table-cell 屬性 <此元素會作為一個表格單元格顯示>, 結合 vertical-align: middle;

<body>

? <div class="box box1">

? ? <span>垂直居中</span>

? </div>

</body>

.box1{

? display: table-cell;

? vertical-align: middle;

? text-align: center;

? background-color: red;

? height: 300px;

? width: 800px;

}

2. 父元素使用彈性布局 display : flex; align-items:center;

<body>

? <div class="box1 box2">

? ? <span>垂直居中</span>

? </div>

</body>

.box2{

? display: flex;

? justify-content:center;

? align-items:Center;

? height: 300px;

? width: 800px;

? background-color: red;

}

3. 父元素設置 display: flex 和 子元素設置 margin: auto

<body>

? <div class="box1 box2 box3 box4 box6 box7 box8">

? ? <div>垂直居中</div>

? </div>

</body>

.box8{

? display: flex;

? text-align: center;

? height: 300px;

? width: 100%;

? background-color: red;

}

.box8 div{

? margin: auto;

? width: 100px;

? height: 100px;

? background-color: brown;

}

4. 父元素相對定位 position:relative, 子元素絕對定位 position: absolute 和 負 margin

<body>

? <div class="box1 box2 box3">

? ? <span>垂直居中</span>

? </div>

</body>

.box3{

? position:relative;

? height: 300px;

? width: 800px;

? background-color: red;

}

.box3 span{

? position: absolute;

? width:100px;

? height: 50px;

? top:50%;

? left:50%;

? margin-left:-50px;

? margin-top:-25px;

? text-align: center;

}

5. 父元素設置 position: relative 相對定位; 子元素設置 position: absolute; transform:translate(-50%,-50%);

<body>

? <div class="box1 box2 box3 box4 box6">

? ? <span>垂直居中</span>

? </div>

</body>

.box6 {

? height: 300px;

? width: 100%;

? background-color: red;

? position: relative;

}

.box6 span{

? position: absolute;

? top:50%;

? left:50%;

? width: 200px;

? transform:translate(-50%,-50%);

? text-align: center;

? background-color: cadetblue;

}

6. 父元素 position: relative 相對定位, 子元素 position: absolute 絕對定位和 0《做遮罩可以使用》

<body>

? <div class="box1 box2 box3 box4">

? ? <span>垂直居中</span>

? </div>

</body>

.box4 {

? height: 300px;

? width: 100%;

? background-color: red;

? position: relative;

}

.box4 span{

? width: 200px;

? height: 200px;

? background-color: cadetblue;

? overflow: auto;

? margin: auto;

? position: absolute;

? top: 0;

? left: 0;

? bottom: 0;

? right: 0;

}

7. 父元素 display:inline-block 和 :after 來占位

<body>

? <div class="box1 box2 box3 box4 box6 box7">

? ? <div>垂直居中</div>

? </div>

</body>

.box7{

? text-align:center;

? font-size:0;

? height: 300px;

? width: 100%;

? background-color: red;

}

.box7 div{

? vertical-align:middle;

? display:inline-block;

? font-size:16px;

? width: 100px;

? height: 100px;

? background-color: brown

}

.box7:after{

? content:'';

? width:0;

? height:100%;

? display:inline-block;

? vertical-align:middle;

}

CSS

相關推薦

兩年經(jīng)驗面試阿里前端開發(fā)崗理茎,已拿offer黑界,這些知識點該放出來了

閱讀 5309

vue: 防止按鈕重復點擊

閱讀 966

【前端100問】Q74:使用 JavaScript Proxy 實現(xiàn)簡單的數(shù)據(jù)綁定

閱讀 76

Promise從入門到拿Offer之手寫Promise

閱讀 1938

前端面試:看了很多的前端面試真題,現(xiàn)在你知道怎么準備面試了嗎皂林?

閱讀 2009

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末朗鸠,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子础倍,更是在濱河造成了極大的恐慌烛占,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件沟启,死亡現(xiàn)場離奇詭異忆家,居然都是意外死亡,警方通過查閱死者的電腦和手機德迹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進店門芽卿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人胳搞,你說我怎么就攤上這事卸例〕蒲睿” “怎么了?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵筷转,是天一觀的道長列另。 經(jīng)常有香客問我,道長旦装,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任摊滔,我火速辦了婚禮阴绢,結果婚禮上,老公的妹妹穿的比我還像新娘艰躺。我一直安慰自己呻袭,他們只是感情好,可當我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布腺兴。 她就那樣靜靜地躺著左电,像睡著了一般。 火紅的嫁衣襯著肌膚如雪页响。 梳的紋絲不亂的頭發(fā)上篓足,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天,我揣著相機與錄音闰蚕,去河邊找鬼栈拖。 笑死,一個胖子當著我的面吹牛没陡,可吹牛的內容都是我干的涩哟。 我是一名探鬼主播,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼盼玄,長吁一口氣:“原來是場噩夢啊……” “哼贴彼!你這毒婦竟也來了?” 一聲冷哼從身側響起埃儿,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤器仗,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后蝌箍,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體青灼,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年妓盲,在試婚紗的時候發(fā)現(xiàn)自己被綠了杂拨。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡悯衬,死狀恐怖弹沽,靈堂內的尸體忽然破棺而出檀夹,到底是詐尸還是另有隱情,我是刑警寧澤策橘,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布炸渡,位于F島的核電站,受9級特大地震影響丽已,放射性物質發(fā)生泄漏蚌堵。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一沛婴、第九天 我趴在偏房一處隱蔽的房頂上張望吼畏。 院中可真熱鬧,春花似錦嘁灯、人聲如沸泻蚊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽性雄。三九已至,卻和暖如春羹奉,著一層夾襖步出監(jiān)牢的瞬間秒旋,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工诀拭, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留滩褥,地道東北人。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓炫加,卻偏偏與公主長得像瑰煎,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子俗孝,可洞房花燭夜當晚...
    茶點故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內容