利用vertical-align:middle垂直居中

本文轉載於:猿2048網站利用vertical-align:middle垂直居中php

之前老是覺得vertical-align與text-align是一樣的道理,一個是垂直居中,一個是水平居中,結果在這裏一點效果也沒有。事實上vertical-align與text-align徹底不同,vertical-align不能這樣用。app

vertical-align 屬性設置元素的垂直對齊方式。該屬性定義行內元素的基線相對於該元素所在行的基線的垂直對齊。容許指定負長度值和百分比值。這會使元素下降而不是升高。在表單元格中,這個屬性會設置單元格框中的單元格內容的對齊方式。默認值:baseline,元素放置在父元素的基線上。


第一種用法,先看後面一句「在表單元格中,這個屬性會設置單元格框中的單元格內容的對齊方式。」這很容易理解,若是給一個表格的td加一個vertical-align:middle的樣式,表格裏面的內容會垂直居中,一樣的若是給一個vertical-align:bottom就會底部對齊,若是給一個vertical-align:top就會頂部對齊。網站

第二種用法,該屬性定義行內元素的基線相對於該元素所在行的基線的垂直對齊。假設有兩個行內元素a和b,a和b都是div,當a加了一個vertical-align:middle樣式以後,b的底部(基線)就會對齊a的中間位置,以下圖:spa

若是a和b都加了一個vertical-align:middle樣式,那麼就互相對齊了對方的中間位置,也就是它們在垂直方向上的中線對齊了,以下圖:code

如今我要讓class="box"的div在class="wrapper"的div裏面垂直居中,我能夠在class="wrapper"的div裏面加一個div空標籤,把它的高度設爲100%,寬度設置爲0,再給它一個vertical-align:middle樣式,一樣的給class="box"的div一個vertical-align:middle樣式,那麼box就能夠在div裏面垂直居中了。
1 <style>
 2     .wrapper {
 3         width: 200px;
 4         height: 200px;
 5         background-color: green;
 6 
 7         margin: 0 auto;        
 8         text-align: center;
 9     }
10 
11     .help {
12         width: 0;
13         height: 200px;
14 
15         display: inline-block;
16         vertical-align: middle;
17 
18     }
19     .content {
20         width: 100px;
21         height: 100px;
22         background-color: yellow;
23 
24         vertical-align: middle;
25         display: inline-block;
26 
27     }
28     
29 </style>
30 </head>
31 <body>
32     <div class="wrapper">
33         <div class="help"></div>
34         <div class="content"></div>
35     </div>
36 
37 </body>

   

 

 

下面咱們來看一張圖來更好理解垂直對齊主要屬性值的表現形式

 

相關文章
相關標籤/搜索