返回列表 发新帖

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

314.3k 8
swmozowtfl 发表于 2015-7-9 23:15:22|湖北 | 查看全部 阅读模式
方法一:把一些 div 的显示方式设置为表格,因此我们可以使用表格的 vertical-align属性。
1 V! f8 P  n9 ]结构效果如下:
" J2 g1 {  T+ q+ O0 ]0 Tcss
5 A1 _5 l8 \% g( Y' E代码如下:
9 h9 ?8 z7 T4 \- s8 g' X4 }
div#wrapper {) ?' H7 t% i+ U  R3 e% D( A
display: table;) E0 R+ s, [% z0 v$ P/ @( I
width: 500px;0 o) ^1 ~' x% R# a* |5 V
height: 500px;
; {2 @4 k1 Y! a8 `0 `7 {$ A# l) ubackground-color: #c00;
. x; |7 S8 F5 T/ [+ i+ W}
. w  D6 N2 K! Q* |% o" H# ~3 _div#row {( I& Y" W+ J. Y# F
display: table-row;
4 j  A, Q/ H' Q' z# c}
$ N2 X  [) a- \$ d7 Zdiv#cell {
* T% F4 }7 _& z; K% G) jdisplay: table-cell;+ j6 V3 [2 }8 @/ F6 h+ q
vertical-align: middle;
7 O/ r& V) q/ L8 N}
! V5 S% o! |) r! l- Mhtml2 k4 ?) I* ], ?$ }2 u. N
代码如下:
( A* F' U* R6 I4 v& v
<div id=wrapper>3 \4 H( }  ~* O9 N3 _) S) z
<div id=row>; D3 `. ?8 \' i( |# _4 U
<div id=cell>
1 k& p: d- _1 x8 L% mif you want to sell sugar water for the rest of my life or want a chance to change the world
1 Z' s" Y9 K4 h2 D5 y9 m</div> 0 l3 |* V1 n: D. h
</div>$ z8 y% w3 w9 z* k* ?
</div>+ [8 F6 s8 w: Y. t
优点:不用受内容高度的限制,简单实现垂直居中;3 V1 T7 b8 x2 r, e+ {1 j
缺点:不兼容ie6,7
6 [' g: m0 n" E, _方法二:这个方法使用绝对定位的 div,把它的 top 设置为 50%,margin-top 设置为负的 content 高度。这意味着对象必须在 css 中指定固定的高度。. q7 F) S: p+ N% U% R
结构效果如下:
! q- O( ~) L' y$ B# Jcss
5 a" m% R% ^- L& u+ y/ C代码如下:+ }5 a, u% d; E& M4 J6 q5 F% Q
div#wrapper {1 L: a& K; x; {
position: relative;
" i) o" s8 N! ?" xwidth: 500px;
; g& y6 [9 S2 k. k! F- Nheight: 500px;
( U& i- D3 |" R) F$ q  R: a: A/ \- hbackground-color: #c00;
2 L+ G" {% P' x! L: G2 s" ]}
+ _# w/ S0 w, K7 H% ddiv#content {
  b5 w/ ?; @' `: O3 Aposition: absolute;7 e9 [0 K( d8 s; E
top: 50%;* }8 b. ^' Y* A0 q2 X5 j
left: 0;
) N0 _" n  c4 t7 W6 Q% twidth: 400px;  P8 t* k+ n) d  s
height: 300px;4 D: L7 @8 Z" [
margin-top: -150px;; Y- u* {1 |# r! O. t8 H- M
background-color: pink;
$ b4 F+ u4 a. o- ^9 e( e}
$ D) s; v3 m8 T8 f* nhtml3 T2 N' K  u$ U# E  G
代码如下:5 s0 T# y3 ^# \3 U* T% R
<div id=wrapper>' v$ _9 u, n$ e7 g! a
<div id=content>
3 B( o2 ?& L  @& F# @& P</div>: k$ ^6 @0 L* `5 l% ?8 s
</div>, p) T+ {7 r* _- X, S
优点:兼容性好
+ u# p# j0 P9 I$ l- p! D6 q缺点:必须知道内容盒子的高度才可以,有了这点限制;6 h# h) L( q. V3 I- K% x
方法三:这个方法和方法二的原理是一样的。废话不多说看代码
' n; Y6 H2 {& t! K# O; U( S4 ccss
8 ~8 {# Q) s' x: Q! y代码如下:$ W( Z3 \) v5 m" t  s6 M
.wrap {
5 Y) w; |# j' _0 k' Q3 Jheight: 500px;0 c$ [; o" h3 W+ s: v" `; ?# Q
width: 500px;7 b% O- M. s* m% a9 W
background-color: pink;" c0 A( `/ ^# p( m
}, d$ @% V$ E2 Y1 `- r
.additional {
1 P7 X# l1 o( Y' m2 z0 E$ k: q9 rheight: 50%;
* B0 Y# y/ L+ ^( I  _; ]margin-bottom: -120px;
/ `: z- |8 S2 F5 n, m; O}
# y0 S1 M" e) [3 C* }6 Y$ w8 X5 x#content {
. J4 o. e9 R+ t' C  {4 s5 lheight:240px;6 A! a6 d; @# M
width:70%;0 d4 T! t, f- E) a
background-color: #000;6 N! F% m) X4 l/ d/ K5 g; M' b
}
! x8 l! ?3 h, Xhtml
  A5 g- i' ]: q% v9 l" C代码如下:5 m6 E  H! }# e2 f  J- I
<div class=wrap>% |1 ?. h) m  `0 M& H
<div class=additional></div>, I6 a. s7 L. m( p( v
<div id=content>
6 _% }; h9 }, \8 o</div>
2 h4 t9 y. F1 I* |' B/ x5 T</div>  z! e1 m! c. S8 N  L/ B# t6 p& m: t
优缺点和法二一样,缺点嘛多了个额外的标签;' c) v& m1 e, @) M- W: F
方法四:这个方法使用了一个 position:absolute,有固定宽度和高度的 div。这个 div 被设置为 top:0; bottom:0;。但是因为它有固定高度,其实并不能和上下都间距为 0,因此 margin:auto; 会使它居中。使用 margin:auto;使块级元素垂直居中是很简单的。
/ w1 B  @+ K4 {2 `% Z, t/ z- k1 E0 ?结构效果如下:3 v+ I" o) B' ]
css
' P; W) ^2 o* [- i7 g" D1 _代码如下:
3 E1 R0 g0 @9 L; u, N# u  H- n
#content {
& U2 l$ B8 g7 N" kposition:absolute;
; E& B3 \% G( q  t8 Q3 {; Htop:0;
; ]& V& l7 h& {" sbottom:0;' r( z' |) ~- `
left:0;
. ~5 s% _2 i+ K$ }8 sright:0;5 H0 P2 I8 R% L7 j5 y# a
margin:auto;
, u& W! E- s. ?4 ~8 `9 g; m9 Eheight:240px;' h* W* f, z/ ^' i& o
width:70%;
- d$ B# B: r4 n, m% _/ @background-color: #000;
9 ]! a; A5 j* P/ H: o4 L7 u}
9 K& ?8 o0 q- Uhtml3 B. ]: W" \5 w
代码如下:- J1 O( a3 I  g, p/ Z; u3 h8 N
<div id=content>
  u5 ?! d4 y" @; Z8 b3 M. \" `content here</div>
$ f( {+ R' Q' [) W( S优点:非常简单% f% Y8 U) {6 f4 O  M
缺点:不兼容ie6,7
+ U# \* k! x( J方法五:这个方法只能将单行文本置中。只需要简单地把 line-height 设置为那个对象的 height 值就可以使文本居中了。这个就不用实例了,您你看就明白;
8 V. f6 g4 e! Y8 r1 w0 ~0 g( U# g" g  m1 J
更多网页制作信息请查看: 网页制作

回复|共 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客服 返回顶部
快速回复 返回顶部 返回列表