最近遇到很多居中的問題,就花點時間總結了一下放在這裡,以後找也方便
1.居中文本
我在中間…
.. height line-height text-center(只能居中單行)
.wrap{
width:px;
height:px;
border:px solid red;
text-align: center;
line-height: px;
}
ps:text-align:center只是將元素下面的內聯元素居中顯示1.2display:table-cell(多行固定高度居中)
程式碼如下:
width:px;
height:px;
border:px solid red;
text-align: center;
display:table-cell;
iddletical-align: mvertical-align: mvertical-align ;
}
display:table-cell:ie67不管用,最好配合display:table;一起用ie67下:(以後也不用了,不過也放這兒吧)
方法一:(透過em標籤高度與父級等高,所以span和em居中就相當於span在父級居中)
程式碼如下:
我在中間… 我在中間… 我在中間… 我在中間…
. wrap{
width:px;
height:px;
border:px solid red;
text-align: center;
}
.wrap span{
tical-- align: middle;
display:inline-block;
width:px;
}
.wrap em{
height:%;
vertical-align: middle;
height:%;
vertical-align: middle; ; display:inline-block;
}
複製程式碼
程式碼如下:
我中間… 我中間… 我在中間… 我在中間…
. wrap{
width:px;
height:px;
border:px solid red;
display:table;
position:relative;
overflow: hidden;
position:relative;
overflow: hidden;
.wrap .span{
display:table-cell;
vertical-align: middle;
text-align: center;
*position:absolute;
top:%;
left:%;
}
.wrap .span{
*position:relative; top:-%;
left:-%; }
複製程式碼
複製程式碼
複製程式碼
複製程式碼
.wrap{
width:px;
border:px solid red;
padding:px ;
}
}
} }2.居中元素複製代碼代碼如下:
2.1position: absolute margin負值(必須要有寬高,才能計算margin)複製代碼代碼如下:
.wrap{
width:px;
height:px;
position:absolute;
top:%;
left:%;
margin-top :-px;
margin-left:-px;
border:px solid red;
}
.wrap span{
width:px;
height:px; > background:red;
position: absolute;
top:%;
left:%;
margin-top:-px;
margin-left:-px;
}
ps:CSS實現DIV水平居中和上下垂直居中
水平垂直居中原理介紹
這裡使用了絕對定位position:absolute,使用left和top設定物件距離上和左為50%,但如果設定50%,實際上盒子是沒有實現居中效果,所以又設定margin-left:-200px;margin-top:-100px;,這裡有個技巧是,margin-left的值是寬度一半,margin-top的值也是對象高度一半,同時設置為負,這樣就實現了水平和垂直居中。