CSS 文字垂直居中


原始 demo

html

  <div class ="box">

    <div class="text">

      我是單行測試文字

    </div>

  </div>

  <div class="box">

    <div class="text">

       我是多行文字我是多行文字是多行文字我是多行文字我是多行文字我是多行文字我是多行文字我是多行文字我是多行文字我是多行文字我是>多行文字我是多行文字

    </div>

  </div>

css

  .box{ border:1px solid #f00; background-color:#eee; width:500px; height:100px;}

  .text{}

效果圖:

一、單行文字的垂直居中

解決方案:line-height方法

css

   .box{ border:1px solid #f00; background-color:#eee; width:500px; height:100px;line-height:100px;}

效果圖

說明:可以看到,這種方法會使得單行文字居中,而多行文字因為被設置了與容器等大的 line-height,導致文字溢出。所以該方法只適合單行文字的居中。

 

二、多行文字的垂直居中

解決方案:vertical-align 方法

css

  .box{ border:1px solid #f00; background-color:#eee; width:500px; height:100px;vertical-align:middle;display:table-cell;}
  .text{}

效果圖:

說明:可以看到,這種方法能夠使得單行文字、多行文字都居中。但是因為 table-cell 是 inline 類型,所以會導致原來的塊級元素每個 div 一行移動到了同一行。如果需要分列兩行,需要在外面額外添加容器對位置進行控制。

 

 

相關閱讀:

大小不固定的圖片、多行文字的水平垂直居中

line-height、vertical-align與display:inline-block的一些問題  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM