方法一:把一些 div 的显示方式设置为表格,因此我们可以使用表格的 vertical-align属性。
% V$ W- v+ `2 p: P) G* d* z- _结构效果如下:5 c, M, G/ w7 m% k) p8 @
css, Q1 M. H# s$ Z+ g/ j, w
代码如下:
+ _( y$ r/ j7 D9 ^div#wrapper {: P" M! a1 k. m0 P3 o
display: table;
% E" n& @# D$ p( q. j+ ywidth: 500px;8 t4 A8 O9 `4 ^( o! L( Y
height: 500px;% y& a/ e4 g: ?
background-color: #c00;
9 \' ]: K" }5 K" V# X, |}/ a: l' k8 u9 w+ E! B' i" L
div#row {
, a1 i5 v# s4 }display: table-row;/ v5 g; Z1 w8 _0 Y8 `, R
}. J# p. Z7 k& g/ x2 J% D
div#cell {, A- S1 n/ ]4 ~1 v! F
display: table-cell;
1 {0 n8 v1 ]+ [. s0 `vertical-align: middle;/ Z1 d/ v6 S8 f1 U- Y2 p
}
- T0 d7 I" y0 i! E) u% z8 Y' N6 Xhtml- {. ~; X8 e$ ]: e: G) E
代码如下:3 a# r* ?7 _7 e, ?& \
<div id=wrapper>; O& N; ^5 s' {; A' d
<div id=row>0 }( ]5 C4 l' P& J! h1 f
<div id=cell>
" l `5 ~7 u" W9 _9 L2 D( v* j9 {if you want to sell sugar water for the rest of my life or want a chance to change the world & J0 a: [2 v& m& `
</div> ! D" u. p0 L+ c# g/ K# Y" N6 d
</div>
0 I* h( ` n/ I1 G* L6 @3 {</div>
3 W1 Z* C3 [& U; P g2 ]优点:不用受内容高度的限制,简单实现垂直居中;) Q2 Q3 m/ |9 q/ U# I
缺点:不兼容ie6,71 i% F; k5 B8 u: W
方法二:这个方法使用绝对定位的 div,把它的 top 设置为 50%,margin-top 设置为负的 content 高度。这意味着对象必须在 css 中指定固定的高度。5 F2 }, t9 F2 r6 t" N
结构效果如下:# ?( c* `- Z8 b& o; b8 F
css6 f3 o1 v5 ~1 K9 t ^
代码如下:- l" |6 h) {$ Z/ s1 n
div#wrapper {* p' }# d! O8 F* r
position: relative;* x# e B: c6 Y) m. H
width: 500px;
* K l* u/ H- m! ]height: 500px; U" M0 R! J9 [/ t) Q* r0 y
background-color: #c00;
9 G5 c) |; [; P- }8 N* Q4 }}
9 G2 f. t/ {/ U. X# b0 ~. idiv#content {, G. _4 ]0 I; G6 u& c
position: absolute;
" p5 P; P9 Q! `/ j( stop: 50%;
, F: q* x; N1 |left: 0;; h. e; _( D& {3 \; c/ M
width: 400px;8 L3 \5 s4 Z# D8 _9 _1 \- U7 L
height: 300px;$ y0 }" j2 a2 z9 A
margin-top: -150px;
) o! G& `2 y/ u. P ubackground-color: pink;( H0 Z# H/ F7 Z7 s
}
7 h) `9 G5 O8 k5 j K8 k' ^html* y# L% a' S0 }4 X
代码如下:8 Z) |/ L/ A) k# x) W% K
<div id=wrapper># v& X* s! P/ p, O5 e6 D
<div id=content>9 u' L! o8 n' `9 w& `% r
</div>
3 n! H' y# P% s1 l</div>
. c M; O- d, F d( R" k; Y" d优点:兼容性好
# D' B/ @" O e; \3 r+ z缺点:必须知道内容盒子的高度才可以,有了这点限制;
9 u% y8 l; z# m& N7 T方法三:这个方法和方法二的原理是一样的。废话不多说看代码
: M1 ^# E( B4 a. k# u$ k7 O Lcss
1 B8 R$ w3 G/ A' o4 W9 M/ V1 L代码如下:
5 V6 w( l1 s( q6 A+ v! T) ~0 {.wrap {
$ @ T- F( g* A/ u* dheight: 500px;, @& Q5 A& `& Z4 @7 {. G* h
width: 500px;' X* m& U4 b( m' ~6 f6 `* \
background-color: pink;
* y4 W G, Q/ k: m}
" M, f" Z6 [5 y, _0 a, p; G.additional {
8 ?+ x7 m0 {! }4 Z3 y" C* {height: 50%;! l6 B5 n# H) J" z! j0 \0 C
margin-bottom: -120px;6 k4 C3 q/ C" R. F M; M' V$ p( R. e; J
}1 H/ w2 M' N- f+ L% |4 D
#content {: U2 }4 T" k7 j+ E; ^( ?
height:240px;) H5 n1 B- c0 ?- {9 Z7 q9 d( j
width:70%;
. z5 s+ H/ t/ _% G. q4 W6 Z, Y) Qbackground-color: #000;" E3 S9 Z* w5 ?8 O9 s
}' ^( ?8 a9 \% g9 S
html ]: S3 t6 F9 `& d. N& ?
代码如下:# X$ ^/ q b: T( Z/ m$ ^0 X+ m; V
<div class=wrap>
. e" D5 }6 n" g; e: R4 p<div class=additional></div>
+ i# |! X+ U6 Z$ t<div id=content>
4 A2 j( G w! v$ Y' t& g! C</div>8 S6 N/ e* ~& j
</div># A( t" b4 l9 \1 H
优缺点和法二一样,缺点嘛多了个额外的标签;
$ Q4 L/ ?, Z* }, r方法四:这个方法使用了一个 position:absolute,有固定宽度和高度的 div。这个 div 被设置为 top:0; bottom:0;。但是因为它有固定高度,其实并不能和上下都间距为 0,因此 margin:auto; 会使它居中。使用 margin:auto;使块级元素垂直居中是很简单的。- A P2 N V( ]; j
结构效果如下:
" p) x& D5 L: I/ X0 M: ycss
3 r) @8 P- y: f5 `代码如下:
7 D2 Z" f" [8 ]. f" Y7 f3 U% ]! l#content {
, R3 }, R3 ?$ |0 z$ Y8 }2 I9 W( C2 lposition:absolute;" `+ ?+ v# |0 }3 s
top:0;, D/ d% r4 }: A( v+ R. i
bottom:0;
# h- |+ k% V3 F* e. y: R1 `2 n7 |left:0;
( Z R& j: ~9 |4 i6 H, B& X9 I( Nright:0;0 S4 g) b w/ P7 n6 I% M
margin:auto;2 ~$ g4 @4 Q) P! D
height:240px;
0 A1 h! F) P; i5 W4 jwidth:70%;. |5 c# E9 k u0 \, n" ^4 |( ~' H$ l
background-color: #000;6 e' R0 h5 {% D: l3 j/ e
}
. G' _6 o; R7 i; E, i: {( Ahtml8 B1 O# `8 s3 ~/ F1 `, D2 b
代码如下:
% k) ]* Q+ I1 ^& S8 |) p<div id=content>4 w& g3 e; u3 g& g6 r F
content here</div>& p( o1 A8 E1 s A
优点:非常简单$ g$ e3 r5 F1 _: x" U% q
缺点:不兼容ie6,72 S) b9 M6 W' C+ h; r" `
方法五:这个方法只能将单行文本置中。只需要简单地把 line-height 设置为那个对象的 height 值就可以使文本居中了。这个就不用实例了,您你看就明白;# w' N; x- q# U( N& w. {9 K! A
# g5 I9 Z5 Z) X* b* m+ u! x更多网页制作信息请查看: 网页制作 |
|