Heim  >  Artikel  >  Web-Frontend  >  CSS垂直居中6种方法_html/css_WEB-ITnose

CSS垂直居中6种方法_html/css_WEB-ITnose

WBOY
WBOYOriginal
2016-06-24 11:42:411201Durchsuche

转自

利用CSS进行元素的水平居中,比较简单,行级元素设置其父元素的text-align center,块级元素设置其本身的left 和 right margins为auto即可。本文收集了六种利用css进行元素的垂直居中的方法,每一种适用于不同的情况,在实际的使用过程中选择某一种方法即可。

Line-Height Method


试用:单行文本垂直居中,demo

代码:

html

123
<div id="parent"> <div id="child">Text here</div> </div>

css

123
#child { line-height: 200px; }

垂直居中一张图片,代码如下

html

123
<div id="parent"> <img src="image.png" alt=""> </div>

css

123456
#parent { line-height: 200px; } #parent img { vertical-align: middle; }

CSS Table Method

适用:通用,demo

代码:

html

123
<div id="parent"> <div id="child">Content here</div> </div>

css

12345
#parent {display: table;} #child { display: table-cell; vertical-align: middle; }

低版本 IE fix bug:

123
#child { display: inline-block; }

Absolute Positioning and Negative Margin

适用:块级元素,demo

代码:

html

123
<div id="parent"> <div id="child">Content here</div> </div>

css

123456789
#parent {position: relative;} #child { position: absolute; top: 50%; left: 50%; height: 30%; width: 50%; margin: -15% 0 0 -25%; }

Absolute Positioning and Stretching

适用:通用,但在IE版本低于7时不能正常工作,demo

代码:

html

123
<div id="parent"> <div id="child">Content here</div> </div>

css

1234567891011
#parent {position: relative;} #child { position: absolute; top: 0; bottom: 0; left: 0; right: 0; width: 50%; height: 30%; margin: auto; }

Equal Top and Bottom Padding

适用:通用,demo

代码:

html

123
<div id="parent"> <div id="child">Content here</div> </div>

css

123456
#parent { padding: 5% 0; } #child { padding: 10% 0; }

Floater Div

适用:通用,demo

代码:

html

1234
<div id="parent"> <div id="floater"></div> <div id="child">Content here</div> </div>

css

1234567891011
#parent {height: 250px;} #floater { float: left; height: 50%; width: 100%; margin-bottom: -50px; } #child { clear: both; height: 100px; }

以上就是六种方法,可以在实际的使用过程中合理选择,参考文章《vertical-centering》。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn