萬盛學電腦網

 萬盛學電腦網 >> 網頁制作 >> DivCSS教程 >> css中水平垂直居中對齊布局的方法

css中水平垂直居中對齊布局的方法

歡迎大家在這裡學習css中水平垂直居中對齊布局!這裡是我們給大家整理出來的精彩內容。我相信,這些問題也肯定是很多朋友在關心的,所以我就給大家談談這個!內聯元素居中,那麼直接用text-align:center則行

如果未知元素寬度,並且非內聯元素,那麼下面給出的幾種方案也適合你。

用CSS來實現元素的垂直居中效果是件苦差事,雖然說實現方法有多種,但有很多方式在某些浏覽器下可能無法正常的工作。接下來我們就一起來看看這些不同方法實現垂直居中的各自優點和其不足之處。

方法一:

這種方法用來實現單行垂直居中是相當的簡單的,你只要保證元素內容是單行,並且其高度是固定不變的,你只要將其“line-height”設置成和“height”值一樣就Ok了。不過這種方法局限性太大,只有單行文本的元素才適用,所以在多行元素中是不能使用這種方法的。

 

局限:塊級元素改為內聯元素,那麼高度、寬度、margin-top,margin-bottom, padding-top,padding-bottom,等都不能用。

第三種: 使用inline-block

如果大家看過我之前寫的inline-block替換float可能就會清楚這個屬性的好處

代碼如下

 

     

     

  • lorem1
  •  

     

  • lorem1
  •  

     

  • lorem1
  •  

     

  • lorem1
  •  

     

 

第四種

代碼如下

 

     

     

  • lorem1
  •  

     

  • lorem1
  •  

     

  • lorem1
  •  

     

  • lorem1
  •  

     

 

缺點是不兼容ie6,ie7

推薦使用inline-block這種水平居中的方法,既保留了塊級元素特性,而且完美兼容。就是代碼有點多。另外你還可以使用表格的方式來水平居中。

說完了水平居中,下面說垂直居中。

如果元素是內聯元素,並且只有一行,則我們可以通過line-height來設置與其高度同樣大小,則實現了垂直居中了。

多行文字的水平垂直居中

一、大小不固定,多行文字的垂直居中

① 單行文字

可能很多人都知道如何讓單行文字垂直居中顯示,就是使用line-height,將line-height值與外部標簽盒子的高度值設置成一致就可以了。例如如下css代碼:height:3em; line-height:3em; ……

顯示結果如下圖:

單行文本垂直居中對齊

② 多行文字

如何實現父容器高度固定,文字可能一行,兩行或更多行的垂直居中對齊呢?

實現的關鍵是把文字當圖片處理。用一個span標簽將所有的文字封裝起來,設置文字與圖片相同的display屬性(inline-block屬性),然後用處理圖片垂直居中的方式處理文字的垂直居中即可。

核心css代碼如下,

外部div標簽:

代碼如下

div{display:table-cell; width:550px; height:1.14em; padding:0 0.1em; border:4px solid #beceeb; color:#069; font-size:10em; vertical-align:middle;}

內部span標簽:

代碼如下

span{display:inline-block; font-size:0.1em; vertical-align:middle;}

行數不固定文字垂直居中對齊

有幾點簡要說明:

1.此例子用em做單位,如果您對em單位了解不夠,把握不來的話,可以使用px做單位,值要換;

2.外部div不能使用浮動;

3.外部div高度和文字大小比例1.14為宜;

4.內部標簽的vertical-align:middle可以省略,但是外部div高度和文字大小比例要修改,我自己試了一下,高度比字體1.5左右的樣子;

5.系統原因,我沒能夠在IE8下測試。

實現的最終效果和JavaScript演示,您可以狠狠地點擊這裡⤴去看看。

二、大小不固定,圖片的水平垂直居中

① 透明gif圖片+背景定位的方法

這裡利用了background-position:center實現圖片居中顯示。這是個很實用也是很聰明的辦法,對於維護控制成本都很不錯。微軟必應圖片搜索的圖片排列就是使用的這種方法。

方法的原理很簡單,使用一個透明的gif圖片做覆蓋層,高寬拉伸至所需要的大小,然後給這個gif圖片一個background- position:center center的屬性。而background-image建議寫在頁面上,因為實際項目中,這肯定是個動態的URL地址,css文件似乎不支持動態URL 地址。

好了css中水平垂直居中對齊布局內容就給大家介紹到這裡了。希望大家繼續關注我們的網站!

相關推薦:

css實現li中文本超出行寬自動隱藏的方法 

copyright © 萬盛學電腦網 all rights reserved