1. 程式人生 > >CSS關於元素垂直居中的問題

CSS關於元素垂直居中的問題

   今天碰到了一個問題,給一個父容器和一個子元素,子元素不定高和不定寬,怎麼讓子元素居中在父容器中,比如下段程式碼

方法1:

<div class="div1">
    <div class="div2">
      <p>this is a test!</p>
    </div>
</div>  

保證div2居中在div1中,想了下,CSS程式碼如下

    *{
         margin: 0;padding: 0;
       }
       .div1{
          padding
:20px 100px; margin: 20px; height: 600px; width: 500px; text-align: center; border: 1px solid #ccc; } .div1:before{ content: "."; height: 100%; display: inline-block; vertical-align: middle; visibility
: hidden; } .div2{ border: 1px solid gray; display: inline-block; vertical-align: middle; }

可以利用 vertical-align:middle屬性保證垂直居中,和父容器的text-align:center來儲存水平居中,前面一個屬性只能對display:inline-block有效,而且需要參照物,所以用

:before偽元素來實現。

方法2: 

<div class
="div1"> <div class="content"> <img src="" alt=""> </div> </div>

實現上面的圖片內容居中,可以用父容器的line-height來實現

.div1{
   margin:20px;
   line-height:500px;
   text-align:center;
}

.content{
   display:inline-block;
   vertical-align:middle;
   line-height:normal;
}

.content img{
   max-width:100px;
}

上面的方法也可以實現不定高寬的內容居中,而且裡面還可以加別的元素。

相關推薦

div垂直居中-CSS元素垂直居中方法

div垂直居中-CSS元素垂直居中方法分2類: 1、文字垂直居中的解決方案-2種 https://edu.csdn.net/course/play/9950/211677 2、塊級元素垂直居中的解決方案-6種 https://edu.csdn.net/course/play/9950

CSS 元素垂直居中的 6種方法

轉自:http://blog.zhourunsheng.com/2012/03/css-%E5%85%83%E7%B4%A0%E5%9E%82%E7%9B%B4%E5%B1%85%E4%B8%AD%E7%9A%84-6%E7%A7%8D%E6%96%B9%E6%B3%95/利

CSS元素垂直居中,未知高度該如何處理?

1.行內本文元素 html部分: <div class="container1"> <span>行內元素垂直居中</span> </div>

CSS 實現元素垂直居中

rst 實用 for 行內元素 bottom 浮動 100% scale 使用 作者:知乎用戶鏈接:https://www.zhihu.com/question/20543196/answer/275464838來源:知乎著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業

CSS如何將元素垂直居中方法錦集

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>實現元素垂直居中</title> <style>

幾種CSS方法實現元素垂直居中

    最近在專案中又用到了元素的垂直居中,在這裡整理總結一下可以實現元素垂直居中的幾種方法。     方法1:(單行元素垂直水平居中)     利用line-height實現單行元素的垂直居中。                                   

css---父元素高度不確定,如何通過css樣式垂直居中

案例程式碼: <div id='box'> <section class='boxLeft'> <ul> <

CSS關於元素垂直居中的問題

   今天碰到了一個問題,給一個父容器和一個子元素,子元素不定高和不定寬,怎麼讓子元素居中在父容器中,比如下段程式碼 方法1: <div class="div1"> <div class="div2"> <p>this is a te

css佈局系列 -- (一)多個元素垂直居中和水平居中

1、多個元素水平居中<div class="box"> <span>1</span> <span>2</span> <spa

Css-淺談如何將多個inline或inline-block元素垂直居中

nasa 對齊 博客園 class 開發 spa 兼容性問題 比較 ref 一直以來,前端開發過程中本人遇到最多,最煩的問題之一是元素如何垂直居中,發現開發過程中,元素的垂直居中一直是個很大的麻煩事,經常發現PC端和電腦模擬元素都垂直居中了,但是遇

CSS佈局:元素垂直居中

CSS佈局之元素垂直居中 本文將依次介紹在不同條件下實現垂直居中的多種方法及簡單原理 Tip:下文中說的適用場景只是舉了幾個簡單的例子方便讀者理解。實際應用場景太複雜,生搬硬套容易出錯。最重要的是掌握各種方法能夠實現居中的原理。只要掌握了原理,那麼不管問題怎麼變都可以根據自己的理解選擇合適的方法。 一、使用l

CSS水平垂直居中

水平居中 ron lac 表現 -a posit ble ive width 水平居中 HTML代碼: 1 <div class="parent"> 2 <div class="child"></div> 3 </div&

盤點8種CSS實現垂直居中水平居中的絕對定位居中技術

其他 margin phone ie10 logs html mar over 防止 1.絕對定位居中(Absolute Centering)技術   我們經常用margin:0 auto;來實現水平居中,而一直認為margin:auto;不能實現垂直居中......實際上

CSS實現垂直居中水平居中

增加 position 大小 -a 添加 abs 100% 布局 table 1、絕對定位居中(子元素需設置寬高) > 原理:元素在過度受限情況下,將margin設置為auto,瀏覽器會重算margin的值,過度受限指的是同時設置top/bottom與height或

CSS垂直居中的方法

-o 文字 單行 fill tab tom ng- dog val 昨天總結了css中水平居中的方法,今天來總結一下css中實現垂直居中的方法。 line-height line-height用於實現單行文本的垂直居中,如下圖中,我們要求單行文本垂直居中,只

css實現垂直居中的幾種方法

定位 方法 cell 方式 middle ali ddl 顯示 內容 方法1、這個方法把一些 div 的顯示方式設置為表格,因此我們可以使用表格的 vertical-align 屬性。 #wrapper { //代表父元素 display: table; }

CSS實現垂直居中的5種方法

logo cto 溢出 hover 元素垂直居中 OS num -o com 利用 CSS 來實現對象的垂直居中有許多不同的方法,比較難的是選擇那個正確的方法。我下面說明一下我看到的好的方法和怎麽來創建一個好的居中網站。 使用 CSS 實現垂直居中並不容易。有些方法在一些瀏

關於多元素垂直居中

特性 uri 註意 相對 啊啊啊 text tab 解釋 內聯 關於多元素垂直居中 一、場景描述 一個高度固定的div,做為父元素。 數個高度隨機的div,做為子元素,需要在父元素內被垂直居中。 二、相關概念回顧 1.幾種box inline box:display為

CSS實現垂直居中的幾種方法

right lin 兼容 bar 實現 syntax info pro ems 垂直居中是布局中十分常見的效果之一,為實現良好的兼容性,PC端實現垂直居中的方法一般是通過絕對定位,table-cell,負邊距等方法。有了css3,針對移動端的垂直居中就更加多樣化。 方法1:

53.CSS---CSS水平垂直居中常見方法總結

out 嵌套 span 垂直 ems 寬度 分享圖片 .net tag CSS水平垂直居中常見方法總結 1、元素水平居中 當然最好使的是: margin: 0 auto; 居中不好使的原因: 1、元素沒有設置寬度,沒有寬度怎麽居中嘛! 2、設置了寬度依然不好使,