css 水平居中、垂直居中的解决方法

发布时间:2020-09-27编辑:脚本学堂
本文详细介绍了css实现水平居中与垂直居中的方法,有需要的朋友参考下吧。

本节内容:
css 水平居中垂直居中

一、css 居中 — 水平居中
DIV等标签本身没有定义自己居中的属性,可以用上级的text-align: center,然后嵌套一层DIV来解决问题。

注意,以上这个方法有时候完全不起作用,而且对于布局是非常不科学的方法。

正确的的设置方法(对页面构造没有影响):
 

复制代码 代码示例:
div {margin-left: auto; margin-right: auto; }

说明:让div自己调整左右margin间隔的距离以达到水平居中的效果。

简写为:

复制代码 代码示例:
div { margin:0px auto; }

使用简写时,如果调整 margin-top 或者 margin-bottom 就会失去CSS居中的水平居中效果。
另外,如果你的div还没有指定宽度(可以是相对的大小),这种CSS居中写法也起不到应有的效果。

解决方法:
为这个div指定一个width宽度,例如: width:auto; 或者 width:50% 之类的。
同时,页面类型即document type必须声明为xhtml。至于松散还是严格都不影响。
这个写法也适用于图片img和一些其他的盒状标签的CSS居中。

最后,假如在IE和FireFox两个浏览器中看起来不一样,最好采用 text-align:center; 和 margin 两个CSS居中一起设置的方法。

例如:
 

复制代码 代码示例:
#layout  {TEXT-ALIGN: center;}
#center { MARGIN-RIGHT: auto; MARGIN-LEFT: auto; }

说明:首先在父级元素定义TEXT-ALIGN: center;这个的意思就是在父级元素内的内容居中;对于IE这样设定就已经可以了。但在mozilla中不能居中。

解决方法:
在子元素定义时候设定 时再加上“MARGIN-RIGHT: auto;MARGIN-LEFT: auto; ”需要说明的是,如果想用这个方法使整个页面要居中,建议不要套在一个DIV里,可以依次拆出多个div,只要在每个拆出的div里定义MARGIN -RIGHT: auto;MARGIN-LEFT: auto; 就可以了。

二. CSS居中 — 垂直居中

1. 如何使图片在DIV 中垂直居中
对这个CSS居中问题,我们可以使用设置背景图片的方法。举例:
 

复制代码 代码示例:
body {BACKGROUND: url(”sample.gif”) #FFF no-repeat center;}
 

关键就在于这个Center属性,它表示让该背景图片在容器中居中。
也可以把Cener换成Top Left或者直接写上数字来调整它的位置。

2.如何使文本在DIV中垂直居中
对于文字,便不能用背景方法,可以用增高行距的办法变通实现垂直居中。

例子:
 

复制代码 代码示例:
#center{ MARGIN-RIGHT: auto; MARGIN-LEFT: auto;  height:200px;  vertical-align:middle;  line-height:200px; }
<div id=”center”><p>test content</p></div>
 

说明:
vertical-align:middle;表示行内垂直居中,我们将行距增加到和整个DIV一样高line-height:200px;然后插入文字,就垂直居中了。

3.CSS+DIV控制页面中元素垂直居中代码,实现全局和区域CSS垂直居中。

例子:
 

复制代码 代码示例:
<style type=”text/css” media=screen>
body
{
text-align: center;
}
#a
{
width: 200px;
height: 400px;
background: #000;
}
#b
{
margin-top: expression((a.clientHeight-50)/2);
width: 50px;
height: 50px;
background: #FFF;
}
#c
{
position: absolute;
left: expression((body.clientWidth-50)/2);
top: expression((body.clientHeight-50)/2);
width: 50px;
height: 50px;
background: #F00;
}
</style>
<div id=”a”>
<div id=”b”></div>
</div>
<div id=”c”></div>

另一种CSS居中的方法:
 

复制代码 代码示例:
<div style=”background:blue;position:absolute;left:expression((body.clientWidth-50)/2);top:expression((body.clientHeight-50)/2);width:50;height:50″></div>

附一种CSS水平垂直居中方法:
 

复制代码 代码示例:
/*Center Panel*/
#LoginBar { position: absolute; left:50%; Top:50%; margin-top: -68px; z-index: 1; margin-left: -150px; width: 300px; 
Height: 156px;text-align:left;

以上就是本节css 教程的全部内容了,有关css实现水平居中与垂直居中的方法与示例,就介绍这些了,希望对大家有所帮助。

>>> 查看更多 css 居中 相关教程 <<<