亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

  發(fā)布時(shí)間:2017-09-12 15:02:35   作者:慢思考快行動(dòng)   我要評(píng)論
作為前端攻城師,在制作Web頁(yè)面時(shí)都有碰到CSS制作水平垂直居中,我想大家都有研究過(guò)或者寫(xiě)過(guò),特別的其中的垂直居中,更是讓人煩惱,下面這篇文章主要給大家匯總介紹了關(guān)于利用css設(shè)置元素垂直居中的解決方法,有了這些方法就用再愁啦,需要的朋友可以參考下。

前言
 

元素的垂直居中也是我們?nèi)粘>W(wǎng)頁(yè)布局中經(jīng)常會(huì)遇到的問(wèn)題,本文主要給大家介紹了關(guān)于利用css設(shè)置元素垂直居中的解決方法,文中介紹了多種情況的多種解決方法,相信會(huì)對(duì)遇到這個(gè)問(wèn)題的朋友們帶來(lái)一定的幫助,下面話不多說(shuō)了,來(lái)一起看看詳細(xì)的介紹吧。

html代碼:

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

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

(1) 行內(nèi)文本垂直居中

css代碼:

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

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

html代碼:

<div class="parent">
    <img src="image.png" alt="" />
</div>

css代碼

.parent {
    height: 100px;
    border: 1px solid #ccc; /*設(shè)置border是為了方便查看效果*/
}
.parent img {
    //注意此時(shí)應(yīng)該保證圖片自身的高度或者你設(shè)置的高度小于父元素的200px的行高,不然你看不出來(lái)居中的效果.
    line-height: 100px;
}

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

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; /*設(shè)置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,此種方法也適用于行內(nèi)文本元素的居中):
 

css代碼:

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

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

css 代碼:

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

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

html代碼:

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

css代碼:

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

以上就是我目前發(fā)現(xiàn)并親自測(cè)試可行的一些方法,應(yīng)該還有其他的方法

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
 

相關(guān)文章

  • css實(shí)現(xiàn)元素居中的N種方法

    這篇文章主要介紹了css實(shí)現(xiàn)元素居中的N種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • css實(shí)現(xiàn)元素垂直居中顯示的7種方式

    這篇文章主要介紹了css實(shí)現(xiàn)元素垂直居中顯示的7種方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)
    2020-09-04
  • CSS實(shí)現(xiàn)子元素div水平垂直居中的示例

    這篇文章主要介紹了CSS實(shí)現(xiàn)子元素div水平垂直居中的示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起
    2020-09-03
  • css 不定寬高的元素居中布局解決方案

    這篇文章主要介紹了css 不定寬高的元素居中布局解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起
    2019-09-18
  • CSS自適應(yīng)布局實(shí)現(xiàn)子元素項(xiàng)目整體居中,內(nèi)部項(xiàng)目左對(duì)齊

    這篇文章主要介紹了CSS自適應(yīng)布局實(shí)現(xiàn)子元素項(xiàng)目整體居中,內(nèi)部項(xiàng)目左對(duì)齊,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們
    2019-09-03
  • css常用元素水平垂直居中方案

    這篇文章主要介紹了css常用元素水平垂直居中方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)
    2019-08-09
  • css實(shí)現(xiàn)元素垂直居中的常用方法(總結(jié))

    本文給大家分享幾種方法介紹css實(shí)現(xiàn)元素垂直居中的常用方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-04-01
  • CSS實(shí)現(xiàn)元素居中原理解析

    在 CSS 中要設(shè)置元素水平垂直居中是一個(gè)非常常見(jiàn)的需求了。這篇文章主要介紹了CSS實(shí)現(xiàn)元素居中原理解析,本文分別從行內(nèi)元素和塊級(jí)元素進(jìn)行說(shuō)明,具有一定的參考價(jià)值,感興
    2018-10-18
  • css實(shí)現(xiàn)元素水平垂直居中常見(jiàn)的兩種方式實(shí)例詳解

    這篇文章主要給大家介紹了css實(shí)現(xiàn)元素水平垂直居中的兩種方式,文中給出了完整的示例代碼供大家參考學(xué)習(xí),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考價(jià)值,有需要的朋友們下面來(lái)
    2017-04-23
  • 關(guān)于css 行元素和塊元素 相互轉(zhuǎn)換 居中

    下面小編就為大家?guī)?lái)一篇關(guān)于css 行元素和塊元素 相互轉(zhuǎn)換 居中。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-08-05

最新評(píng)論