以前说过的,如果想是让一个块级元素(block)在水平方向上居中,可以使用margin:auto来搞定这事情。如下例所示:
.center {
margin: auto;
width: 50%;
border: 3px solid #46acb6;
padding: 10px;
}
提示:1.margin:auto要用在block类型元素,比如div元素;2.该元素必须设置特定的宽度。
如果想使一段文本居中对齐,那就使用text-align:center即可。
.center {
text-align: center;
border: 3px solid #46acb6;
padding: 10px;
}
是一张图片在block元素中居中对齐的方式就是把这张图片设置上display:block;,然后套用margin:auto的方法就ok了~

img {
display: block;
margin-left: auto;
margin-right: auto;
width: 30%;
}
通过position属性也可以实现元素的左对齐和右对齐。对目标元素设置position: absolute;即可,但是这种方式会使该元素脱离正常的页面元素排布序列,而覆盖其他元素,因此除非特殊需求,一般不推荐这种方式。如下所示:
欲练神功,必先用功
.right {
position: absolute;
right: 0px;
width: 300px;
border: 3px solid #46acb6;
padding: 10px;
}
通过float属性也可以实现元素的左对齐和右对齐。
.right {
float: right;
width: 300px;
border: 3px solid #46acb6;
padding: 10px;
}
水平方向上的文本居中可以使用text-align属性搞定,而垂直方向上,这里可以用padding来实现一下。(其实用padding只是看上去居中,因为这里的外容器的高度不是限定的,所以用padding并不典型,后面会有其他的方式)
.center {
padding: 70px 0;
border: 3px solid #46acb6;
text-align: center;
}
如果外部容器元素的高度是一个确定的数值单位,则这时使用line-height属性是更明智的选择。使外部元素的line-height属性等于height属性的值即可。
欲练神功,必先用功。今练气之道,不外存想导引,渺渺太虚,天地分清浊而生人,人之练气,不外练虚灵而涤荡昏浊,气者命之主,形者体之用。天地可逆转,人亦有男女互化之道,此中之道,切切不可轻传。——摘自《葵花宝典》
.center {
line-height: 200px;
height: 200px;
border: 3px solid #46acb6;
text-align: center;
}
/* 如果段落不只一行,下面的设置就起作用了 */
.center p {
line-height: 1.5;
display: inline-block;
vertical-align: middle;
}
当padding和line-height的方法都不适用的时候,可用如下第三种方式来实现,即使用position和transform属性。
欲练神功,必先用功。今练气之道,不外存想导引,渺渺太虚,天地分清浊而生人,人之练气,不外练虚灵而涤荡昏浊,气者命之主,形者体之用。天地可逆转,人亦有男女互化之道,此中之道,切切不可轻传。——摘自《葵花宝典》
.center {
height: 200px;
position: relative;
border: 3px solid #46acb6;
}
.center p {
margin: 0;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
奉天承运,关于transform属性,后续会深入学习。