2007-07
22

通常在制作网站首页时需要使页面内容在水平和垂直方向上都居中。 表格布局时代常用的方法是内容之前添加换行。实际上通过CSS有更方便的办法。

这个方法出自creamu.com。 先来看看代码和效果吧。

<style>
#warp {
  position: absolute;
  width:500px;
  height:200px;
  left:50%;
  top:50%;
  margin-left:-250px;
  margin-top:-100px;
  border: solid 3px red;
}
</style>
<body>
  <div id=warp>Test</div>
</body>
centered-div.png

原理很简单:将left和top设置为50%来定位div到浏览器中央,再将margin-left和margin-top值设置为宽和高的一半, 使div居中显示。




这篇文章有 13 条评论了,快来一起讨论讨论吧!
#1
沈蚊
2007-07-23 12:32

很聪明的办法啊!

#2
Neelie
2007-10-09 23:39

这个办法好, 比嵌套 div 再用 left, top 来定位方便很多.
谢谢 charlee

#3
charlee
2007-10-10 01:12

To Neelie:
谢谢评论!

#4
abc
2008-03-13 15:29

margin-left: auto;
margin-right: auto;

这个也行

#5
豆抓搜索百奥谷
2008-04-24 13:24

方法好啊.有没有别的方法?

#6

2008-05-01 22:19

这个方法不怎么样,要是用户调整了浏览器的大小呢?
那样你的那个warp还是50%…
这样好?

css运用中最好还是尽量少用%…

#7
xiaopiao
2008-05-03 02:36

abc
2008-03-13 15:29

margin-left: auto;
margin-right: auto;

这个也行

#8
xiaopiao
2008-05-03 02:37

这个方法很好!简单
margin-left: auto;
margin-right: auto;

这个也行

#9
zm31
2008-05-05 14:33

xiaopiao
2008-05-03 02:36

abc
2008-03-13 15:29

margin-left: auto;
margin-right: auto;

这个也行

这个是水平居中吧..要的是垂直怎么居中呢?

#10
恶魔法则
2008-06-29 19:46

来学习了

#11
匿名
2008-07-03 11:52

>> 枫
>> 2008-05-01 22:19

>> 这个方法不怎么样,要是用户调整了浏览器的大小呢?
>> 那样你的那个warp还是50%…
>> 这样好?

>> css运用中最好还是尽量少用%…

很遗憾 用户调整大小也好用 margin:0 auto 会存在兼容问题

#12
cglf
2008-07-13 00:19

这样也可以

#13
匿名
2008-08-22 12:05

>> 枫
>> 2008-05-01 22:19

>> 这个方法不怎么样,要是用户调整了浏览器的大小呢?
>> 那样你的那个warp还是50%…
>> 这样好?

>> css运用中最好还是尽量少用%…

这样也可以兼容的

添加评论