国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > CSS > 正文

利用css設置元素垂直居中的解決方法匯總

2024-07-11 09:07:53
字體:
來源:轉載
供稿:網友

前言
 

元素的垂直居中也是我們日常網頁布局中經常會遇到的問題,本文主要給大家介紹了關于利用css設置元素垂直居中的解決方法,文中介紹了多種情況的多種解決方法,相信會對遇到這個問題的朋友們帶來一定的幫助,下面話不多說了,來一起看看詳細的介紹吧。

html代碼:

<div class="parent"><div class="child">Text here</div></div>

既然設置子元素的垂直居中,那就要知道父元素的高度,才能知道這所謂的中在哪,對吧?就像你想在一段距離的中間位置站住,那你首先需要知道這段距離有多長,你才能知道中間位置在哪.
注意,我所有的百分比高寬,都是建立在html,body {width: 100%;height: 100%;}這樣的設置的基礎之上的,如果你沒有這樣設置,.parent這個div的父元素又是body,body你又沒有設置寬高,你就可能看不到效果,.parent這個div的高寬比是相對于它的父元素的,所以你在使用的時候需要確定.parent這個div的父元素設置了寬度和高度的.

(1) 行內文本垂直居中

css代碼:

.parent {    height: 100px;    border: 1px solid #ccc; /*設置border是為了方便查看效果*/}.child {    line-height: 100px;}

(2) 行內非文本垂直居中(以img為例)

html代碼:

<div class="parent">    <img src="image.png"    height: 100px;    border: 1px solid #ccc; /*設置border是為了方便查看效果*/}.parent img {    //注意此時應該保證圖片自身的高度或者你設置的高度小于父元素的200px的行高,不然你看不出來居中的效果.    line-height: 100px;}

(3) 未知高度的塊級元素垂直居中
 

html代碼:

<div class="parent">  <div class="child">    <!--.child的高度未知,父元素要有高度-->    sddvsds dfvsdvds  </div></div>

第一種方法(不需要加padding):
 

css代碼:

.parent {  width: 100%;  height: 100%;  position: relative;  /*display: table;*/}.child {  width: 500px;  border: 1px solid #ccc; /*設置border是為了方便查看效果*/  position: absolute;  top: 50%;  transform: translateY(-50%);}

第二種方法(不使用transform):
 

css代碼:

.parent {    position: relative;    width: 100%;    height: 100%;}.child {  width: 500px;  border: 1px solid #ccc;  position: absolute;  top: 0;  bottom: 0;  left: 0;  right: 0;  height: 30%;  margin: auto;}

第三種方法(需要加padding):
 

css代碼:

#parent {  padding: 5% 0;}#child {  padding: 10% 0;}

第四種方法:
 

(使用display: table,此種方法也適用于行內文本元素的居中):
 

css代碼:

.parent {  width: 100%;  height: 100%;  display: table;}.child {  display: table-cell;  vertical-align: middle;}

第五種方法(flex布局,這里需要考慮兼容性奧!)
 

css 代碼:

.parent {    width: 100%;    height: 100%; /*這里一定要寫高度奧!*/    display: flex;    align-items: center;    justify-content: center;  }

(4) 已知高度的塊級元素垂直居中
 

html代碼:

<div class="parent">  <div class="child">    <!--.child的高度已知,父元素高度已知-->    sddvsds dfvsdvds  </div></div>

css代碼:

#parent {  height: 300px;}#child {  height: 40px;  margin-top: 130px; /*這個只為父元素的高度減去這個元素的高度除以二計算得到的*/  border: 1px solid #ccc;}

以上就是我目前發現并親自測試可行的一些方法,應該還有其他的方法

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VeVb武林網的支持。
 


注:相關教程知識閱讀請移步到CSS教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 五大连池市| 乌兰察布市| 武冈市| 五峰| 辽宁省| 曲松县| 临颍县| 萨嘎县| 诸暨市| 玉环县| 黑龙江省| 泰顺县| 亳州市| 罗江县| 松江区| 靖州| 都匀市| 韶关市| 永州市| 桓台县| 新绛县| 新化县| 民县| 顺平县| 丹江口市| 乡宁县| 临江市| 日土县| 易门县| 宝兴县| 咸阳市| 毕节市| 大英县| 萍乡市| 阜阳市| 丹凤县| 凤城市| 金寨县| 云浮市| 黔南| 嘉定区|