19.3.2 设置层居中

层居中并不同于用align设置TABLE布局的居中,前面也提到过,TABLE布局已不是当今所选择的了,而DIV+CSS才是被广大网页制作者喜爱的(往往有很多用TABLE布局的人不太习惯用DIV+CSS,因为DIV不容易控制),但也会遇到很多问题,如层默认都是向左对齐的,但因实际需要,要设置成层居中,这时得动动脑筋了。正如初学DIV+CSS布局者所困惑,如何设置才可以让层居中,本实例除介绍了设置尺寸外,还对很多初学者如何设置层居中做解析。

层的默认大小是按父对象宽的100%,即该层所在的范围有多宽层就显示多宽,当层在确定宽度时,也是按左对齐的,所以默认时层不会居中。为了让层居中,就得改变层的默认值,即要确定层的大小,调整层的外补丁(外补丁起关键作用,也是初学者不注意的地方,下一章会介绍),这样层就可以在网页中间显示了,超过层大小的,在两边用默认的白色填充,下面将步骤一步一步演示给读者。

(1)新建层并设置大小和边框以区别层大小。

代码19.5 源代码\第19章\设置层居中.html


——————————————文件名:设置层居中.html——————————————-

01 <!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN"

02 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

03 <html>

04 <head>

05 <title>设置层居中</title>

06 <style type="text/css">

07 #mydiv

08 {

09 /设置尺寸大小/

10 width:400px;

11 height:300px;

12 border:1px solid red;

13 }

14 </style>

15 </head>

16 <body>

17 <div id="mydiv">

18 HTML+CSS完全自学手册

19 </div>

20 </body>

21 </html>


【代码解析】代码第10、11行只设置了层的宽度和边框,从红色边框里可以看出层包含了文字,且在网页中居左显示,且层的大小已确定,效果如图19.6所示。

19.3.2 设置层居中 - 图1

图 19.6 设置层大小与边框

(2)设置外补丁使用层对上面左右的距离为自动。外补丁用margin表示,后面接的值表示距离,如接4个值,分别表示上右下左的位置;如只有两个值,第一个表示上下距离,第二个表示左右距离;如果只有一个值,那么上右下左都是以这个值为距离。当然还可以设置成auto,这样设置表示上下左右都是自动距离,层居中的技巧也在于此。下面代码是在代码19.5中的#mydiv加一行margin:auto所得,就是要层四个边框自动对齐。


01 #mydiv

02 {

03 /设置尺寸/

04 width:400px;

05 height:300px;

06 /设置边框/

07 border:1px solid red;

08 /层居中/

09 margin:auto;

10 }


【代码解析】第9行代码解决了居中问题,这往往是初学者不注意的地方,效果如图19.7所示。

19.3.2 设置层居中 - 图2

图 19.7 margin设置层居中

注意 有时设置了margin:auto也不能居中,那要查看<!DOCTYPE html PUBLIC“-//W3C//DTD XHTML 1.0 Transitional//EN”“http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>第一行代码有没有输入。可以试着去掉这行,层就向左边移了。