对于入门者:样式代码写错啦。
对于初学者:margin:0 auto;的意思就是:上下边界为0,左右根据宽度自适应!其实就是水平居中!导致margin:0 auto;不能居中其中的一原因就是没有为DIV设置宽度,这很容易理解:DIV没有宽度,如何根据宽度自适应呢?这是新手比较容易犯的错误。
对于高手:还有一个能令高手也一样抓狂的原因:没有声明文档类型:DOCTYPE。
DOCTYPE是document type(文档类型)的简写,在web设计中用来说明你用的XHTML或者HTML是什么版本。要建立符合标准的网页,DOCTYPE声明是必不可少的关键组成部分!
看看下面的代码,是不是很熟悉?像这样的,在文档最顶端,就是用来声明DOCTYPE的!它是Dreamweaver等网页编辑软件自动加入的,所以,高手们注意了:不要以为自动加入的东西是可有可无!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
有三种选择,用来声明DOCTYPE:
- 过渡的(Transitional):要求非常宽松的DTD,它允许你继续使用HTML4.01的标识(但是要符合xhtml的写法),完整代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- 严格的(Strict):要求严格的DTD,你不能使用任何表现层的标识和属性,例如
<br>
,完整代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- 框架的(Frameset):专门针对框架页面设计使用的DTD,如果你的页面中包含有框架,需要采用这种DTD,完整代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
如果你的样式写对啦,但不居中,无非就是这几种原因。