方法一:把一些 div 的显示方式设置为表格,因此我们可以使用表格的 vertical-align属性。; v) l4 c3 r. J' i9 i0 O! |7 f/ s! S
结构效果如下:! `7 J+ Y, T; S2 s c& m, w1 X
css
! z' U/ |1 k. W& G' ]+ H7 l代码如下:6 X9 q# I0 Y2 y+ L, T! E, M
div#wrapper {
. E! e5 m8 ^5 [# b. f% [display: table;( X' p% ^: \+ I% X6 m, D" F, F4 i8 L
width: 500px;- P1 X* s. S8 @. A, @: ~/ w0 p
height: 500px;$ I' ]; w6 h7 v; x9 ]" D6 g- t0 C
background-color: #c00;8 H$ x( b8 l( Y4 {4 O% |
}
) t) I7 g9 X- w; N9 F! e! e8 Q7 Vdiv#row {
8 A( y# V- ^0 k6 N9 B$ j! U8 Zdisplay: table-row;
& v7 I+ A9 l/ R) o% u}
. @4 b0 {) |+ D- ]# k# ndiv#cell {* K1 T) i$ `8 M8 T z2 ?* F
display: table-cell;4 J( B% ?' {2 x9 C
vertical-align: middle;
& ?5 f5 A, H4 s! {7 H}
( p, L; E+ {+ ohtml
: g6 r/ ]1 x# R5 z% {3 W# l代码如下:
3 t2 q, u& b1 B: ]2 a8 n% ]" V/ D<div id=wrapper>( N5 n" G- ~) m, ~5 |9 Z/ b
<div id=row>" E) t8 V) m6 I; r! C
<div id=cell>4 {( j& B6 e0 g
if you want to sell sugar water for the rest of my life or want a chance to change the world * t& K5 M% |3 w3 n$ }
</div>
4 Y% k' y/ x* C5 u A$ _& e/ O4 M</div>. A9 D. ~+ E2 S6 Z1 v! ^; z+ P
</div>
+ N" ]" E- S7 u* n3 f2 W/ j优点:不用受内容高度的限制,简单实现垂直居中;
# [+ A: ?1 }, W) l/ N" Z+ \缺点:不兼容ie6,7* V% v; v1 K6 Z3 d) G- x, E
方法二:这个方法使用绝对定位的 div,把它的 top 设置为 50%,margin-top 设置为负的 content 高度。这意味着对象必须在 css 中指定固定的高度。
1 _# L" e& _& ]" V+ Z结构效果如下:7 M7 M0 O1 o* U) P! v0 g5 a
css8 G% T2 s, f6 _ a1 g
代码如下:
# G' B8 A* B O# O: A0 ~div#wrapper {2 Z& w' U; j7 s1 L! S
position: relative;% |* ]4 ]/ Q- R; ?( {- C% I! _
width: 500px;) g* \- M) o) w/ l0 E$ v) M8 a ^
height: 500px;6 t& K& } b: q T
background-color: #c00;
4 R3 W6 Z/ K h' e# o}- h L: G( m, ]
div#content {3 v6 k7 K l( w/ o- G7 ~
position: absolute;0 J% x4 A; h9 y& }9 `7 Q1 W. |1 W# o
top: 50%; O9 ^( t E. E. U( w7 c
left: 0;' V2 @$ U( Y. U# k
width: 400px;
1 r% v4 L4 t' q! Uheight: 300px;" B' ]/ v; W# b2 d. l
margin-top: -150px;
2 X: X5 o; j" ]: D: {- L; B9 Y( Ebackground-color: pink;
7 b5 e' q) T7 Q( ?$ r# N: c}" `, X$ A" Z' W! L4 h
html9 ^4 N2 f& A, [9 Z6 d3 s
代码如下:
% \5 ]* X, S4 e, G4 {" t<div id=wrapper>
# r; O9 Z. }3 s' W$ X<div id=content>3 y2 h8 Q7 A% k( n! f0 i9 r
</div>
& L1 E. N; ~# g9 M: M3 J</div>+ E8 W8 Z; B0 c4 `$ M
优点:兼容性好
! s; T0 F4 T) K' K缺点:必须知道内容盒子的高度才可以,有了这点限制;
) `# Y% t( Z0 v7 r, B( x9 l方法三:这个方法和方法二的原理是一样的。废话不多说看代码2 d) p- X! k$ Y" B0 S" O/ W
css
" S: F/ j& k& ]0 u- r代码如下:5 S" p' t0 @5 A, ]/ N9 {
.wrap {$ ]* m$ |. N! k. y6 _5 E
height: 500px;2 g5 x3 L, t, ~4 P
width: 500px;) p, i, @; h6 H1 D7 h
background-color: pink;
2 W1 q) o& c& H- Y4 e: J% P A}* Q/ A+ a' X6 D* r3 o8 T0 ~! x
.additional {
, k2 E2 _$ W9 g- ~" wheight: 50%;
* ^8 Q/ t, [- W8 H- K9 ^1 umargin-bottom: -120px;
& @* L6 F# K) X; H3 j% [}6 u9 i/ p# u2 m- M
#content {+ i4 r3 d3 x" F$ Y8 |0 m7 C! y
height:240px;# @. S( j9 p1 G' n. e/ R
width:70%;- ^6 R, ]' A( C! H- p" z
background-color: #000;
# s$ [! _4 i v% b, j! D; B}, y2 `+ m. S' Q! @
html, H5 E9 ]# i% z& m) l: A) _
代码如下:5 K) F" h9 D- r; \; q" \
<div class=wrap>. |1 s0 F* ?" I- }/ \, \
<div class=additional></div>7 f8 b1 q' w* j2 f3 O' s
<div id=content>
3 Q' O, _2 G5 l</div>
0 G) c6 _7 c- W6 t</div>' j" t; V% C6 C9 B
优缺点和法二一样,缺点嘛多了个额外的标签;7 U7 E2 Y |3 X5 u
方法四:这个方法使用了一个 position:absolute,有固定宽度和高度的 div。这个 div 被设置为 top:0; bottom:0;。但是因为它有固定高度,其实并不能和上下都间距为 0,因此 margin:auto; 会使它居中。使用 margin:auto;使块级元素垂直居中是很简单的。
2 d& g5 U, p9 T# B- U) O结构效果如下:( [3 V9 l/ n' u- N% |2 R
css3 }! k: p6 e8 d- f: p2 H" u
代码如下:: h- B2 p+ ?$ _& }) v
#content {9 |% {4 v7 G! S: j# n
position:absolute;1 W/ `) Z+ t- e% q- |8 d
top:0;; v* o Y% I ^3 p: T7 G
bottom:0;
! m* s3 _' v# Y$ H3 v2 L" n zleft:0;
! f' ]+ t, f& [+ D; Cright:0;
: U1 P# G# t) T" b' Q( {# u% Ymargin:auto;% c1 C9 M* Y9 ?; T+ `0 ~
height:240px;. h9 |$ t& m7 N. a' k' ~. d
width:70%;: k% T9 ?1 P% L4 {$ ]4 g( f
background-color: #000;* o4 j! m |2 J( V+ Z
}
7 b- V4 g1 r6 x9 q" `& F2 hhtml+ @! S" c, v% O( { y* n& i
代码如下:
7 O/ A5 ]* f2 T<div id=content>
, h; }# S5 U, _& econtent here</div>
& T/ w4 Q1 p9 D) ` K优点:非常简单
; G4 U7 W6 @8 x5 J0 {! |缺点:不兼容ie6,7# J! D4 g+ s1 W3 K8 a
方法五:这个方法只能将单行文本置中。只需要简单地把 line-height 设置为那个对象的 height 值就可以使文本居中了。这个就不用实例了,您你看就明白;+ M, [2 b/ K7 X- |% u+ [# P: X
' y3 u$ E) Y6 B更多网页制作信息请查看: 网页制作 |
|