返回列表 发新帖

div+css垂直居中的五种实现方法

314.4k 8
swmozowtfl 发表于 2015-7-9 23:15:22|湖北 | 查看全部 阅读模式
方法一:把一些 div 的显示方式设置为表格,因此我们可以使用表格的 vertical-align属性。
# A7 B8 m% I' j3 m6 c. k结构效果如下:
8 A- o% s( B0 L) ycss1 G! g5 l& f5 Q' K5 G, W
代码如下:. i$ {/ G5 b; w8 A0 W
div#wrapper {6 D6 j5 ]( G+ k
display: table;
% W. D! e; f- P# z" xwidth: 500px;
+ S9 ^# g" h2 @& N, Hheight: 500px;% K+ C6 e6 a' `( n2 r
background-color: #c00;# e4 M6 P* P4 N" O& G/ b$ C% [
}9 |1 S  ?) z  O! y0 j2 m7 X+ C
div#row {  n1 t" @! t/ E
display: table-row;
4 v# G! \* z5 V& Y4 h! K5 d( T}- s3 [" j; W4 f2 L3 J
div#cell {
8 n0 A5 c/ B  A9 w  o5 L* B- z1 @display: table-cell;
2 C, ]/ p# R5 D* P' P' Z; pvertical-align: middle;
# x+ }! m9 h$ M; r4 ]$ G' |}
9 u. |0 B. [% I# E- {html
  i2 J6 A2 P/ O2 j  h# F' j5 G代码如下:% ^1 y4 m) S5 [# C0 a7 o
<div id=wrapper>4 t& @2 w- g9 A- ?' H3 f( f
<div id=row>" h* V3 K  Q. i! ~
<div id=cell>% F2 S- o7 ^7 ]0 I  p
if you want to sell sugar water for the rest of my life or want a chance to change the world : j1 P8 j) G! ]5 h
</div> ! f* f& d. B- K' Q* N- W0 @* A
</div>$ U2 H$ Y4 A% S
</div># }5 t; c# V: R; `$ L6 S
优点:不用受内容高度的限制,简单实现垂直居中;7 S+ K& ?% l* c/ y
缺点:不兼容ie6,7
9 s/ Y' |8 r* X! P' ^7 E方法二:这个方法使用绝对定位的 div,把它的 top 设置为 50%,margin-top 设置为负的 content 高度。这意味着对象必须在 css 中指定固定的高度。
4 Q' Q: @& ]% I' P: o; P- L+ q4 n结构效果如下:+ }+ `" Z' O" K& {! |1 X7 |  Y* Z% {
css
7 ^$ g; R1 ~2 X6 K8 r; p. r4 o代码如下:9 T6 ?5 ~- ]9 Y9 I2 p
div#wrapper {
9 X8 W; O& h1 h  c% x. aposition: relative;
; o! W6 r4 N6 Pwidth: 500px;$ S" z2 t/ h# }7 K8 Y
height: 500px;
+ k$ R; q8 F8 ~background-color: #c00;( i% i$ N- }0 }- n3 ]
}
; q$ w2 o9 v7 q3 _: hdiv#content {# j* j. }: \* b2 Q9 m
position: absolute;9 ]' `- w3 r8 E- \( w
top: 50%;
& u: `1 e5 C8 m4 K/ A) sleft: 0;
, X9 p( E: x; S0 ^' V9 k3 swidth: 400px;
( D. W3 O' T+ {/ ]8 ^height: 300px;5 i$ Z2 b3 Y4 w: t
margin-top: -150px;9 i0 w: z( \& R4 \
background-color: pink;
6 k5 Z5 F; B- ]7 |+ W1 |& o8 y, V}
# r1 Z- [' m2 F1 u, {html/ C' y/ J, Z, C% d  M
代码如下:, N1 g! l/ R( K3 `: g) _
<div id=wrapper>) b9 o1 {2 ~' I6 }$ t: C
<div id=content>  E: k  {2 p4 ~6 c* J
</div>2 o1 z$ l6 M/ o* q* v# X
</div>0 Y& m+ w# a2 d
优点:兼容性好
' H* O8 x4 D4 T1 _# _4 h& N3 P! u+ z2 w缺点:必须知道内容盒子的高度才可以,有了这点限制;
; a* `5 v# ~6 Z$ s. ]& A0 ]方法三:这个方法和方法二的原理是一样的。废话不多说看代码
% k& W/ Y* w' o  e- N+ @! hcss- X0 Z4 U. r1 f7 {; U( G
代码如下:' W. i9 a# ]6 r
.wrap {
- y3 N7 R( E( sheight: 500px;; x! d4 Y9 P1 J- B
width: 500px;
2 b5 J6 n& U! Z0 U6 Jbackground-color: pink;
0 h6 G+ K6 G3 E- [: v# W0 {}
/ t" t9 R5 P3 h.additional {
$ [) G) l4 O7 `" n/ y4 `9 Vheight: 50%;
) \" q# l9 v) m  I5 v5 ~margin-bottom: -120px;
& I5 G, M4 d. O5 y. o}. u4 Z' f: e; g
#content {$ M1 Z2 r% a0 T
height:240px;
! ^! O, x- B5 e) j4 Fwidth:70%;
7 L6 B! D& n' Pbackground-color: #000;
7 c- w% r7 p; O) G4 f: f/ B; Z}* b" X) _  \' D+ @
html  x2 x- |; \# U5 o) @- r, p% P0 D: t3 G
代码如下:6 M% B9 P7 `- O7 y- U) q( q5 d5 S
<div class=wrap>% h, u, W, N4 C7 c/ s4 e: q
<div class=additional></div>* y! N" ~% x  W
<div id=content>* X5 A. C. _  Y% C/ `: E: _# z
</div>  f" v% ~8 I* R* i
</div>
2 o; m: f( _( o" ?6 {优缺点和法二一样,缺点嘛多了个额外的标签;4 ]* ~  W& ^7 ^2 U4 k5 ]
方法四:这个方法使用了一个 position:absolute,有固定宽度和高度的 div。这个 div 被设置为 top:0; bottom:0;。但是因为它有固定高度,其实并不能和上下都间距为 0,因此 margin:auto; 会使它居中。使用 margin:auto;使块级元素垂直居中是很简单的。
9 W6 e1 N' K8 [5 s% y; J结构效果如下:1 |0 P& p; ?1 g
css; O( }1 }3 @! j/ C& P! K/ f' F
代码如下:/ y5 ?( j, e8 q, P
#content {
' D4 ]$ ]/ S. }  Z- @1 z8 Rposition:absolute;- O4 _  |2 p$ [
top:0;
! i  E) c) k) L0 t" d4 nbottom:0;, ^4 L: Y' W4 K- Y7 ^
left:0;
8 \* `- W+ P  @& N8 t! ^right:0;
. s; F* I4 `" Wmargin:auto;/ g5 s, U% t' I' Z
height:240px;
3 J, r, k* c% s. q' N) Bwidth:70%;' P. `- b% x3 Z7 i% M- Z+ b+ p
background-color: #000;
% o* C/ S; D, M) A2 `}
8 `$ a0 U# j2 B2 C6 E# J9 Vhtml
; j3 E* L& `% K7 H: k/ B% K代码如下:
  t) G' ]! f7 |& p2 u
<div id=content>
3 i3 l% ?* r  ]9 Econtent here</div>
" N" W( e/ Z4 Q7 v# U6 \优点:非常简单2 p- x% e2 z3 P$ e# x. D3 z& A
缺点:不兼容ie6,77 X; e$ w, F9 m+ e( m; G7 `; T
方法五:这个方法只能将单行文本置中。只需要简单地把 line-height 设置为那个对象的 height 值就可以使文本居中了。这个就不用实例了,您你看就明白;% s* a, |# _* s3 w8 a& S) j
/ L: F1 t* c$ E7 _# x
更多网页制作信息请查看: 网页制作

回复|共 8 个

wwdu926a 发表于 2016-1-19 19:43:48|INNA | 查看全部
杂觉滴~` 你~~` 嘿嘿 这个想法不该从你的脑瓜儿出来拉~`
buingeEvineus 发表于 2016-1-19 19:43:48|德国 | 查看全部
什么啊
gevaemaidovef 发表于 2016-1-19 19:44:32|约旦 | 查看全部
老大,我好崇拜你哟
seazvyt 发表于 2016-2-23 18:41:14|INNA | 查看全部
小手一抖,经验到手!手拿酱油,低头猛走!酱油党路过,杜绝零回复
alapScady 发表于 2016-2-23 18:41:32|日本 | 查看全部
不为楼主的标题所吸引,也不是被贴子的内容所迷惑。
seazvyt 发表于 2016-2-23 18:41:54|美国 | 查看全部
本人是文盲,以上内容文字均不认识,也看不懂是什么意思.
Acropozelan 发表于 2016-2-23 18:42:44|美国 | 查看全部
我又回复了
alapScady 发表于 2016-2-23 18:42:50|英国 | 查看全部
俺灌的不是水,是寂寞啊!

回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

得知互动是一个融创意、设计、开发、营销、生活、互联网于一体的专业交流分享平台。
Copyright © 2026 得知互动-专注Ai与站长技术交流社区-Ai交流平台 版权所有 All Rights Reserved. Powered by Discuz! X5.0 鄂ICP备15006301号-5|鄂公网安备 42018502006730号
关灯 在本版发帖 扫一扫添加QQ客服 返回顶部
快速回复 返回顶部 返回列表