现代学网页技术的同学越来越多,但是很多初学制作网页的朋友,可能会遇到的一个常见问题,就是在CSS中加了margin:0 auto;却没有效果,不能居中的问题!margin:0 auto;的意思就是:上下边界为0,左右根据宽度自适应!其实就是水平居中的意思,呵呵!小六哥哥在这里说两个典型的错误引起的不能居中的问题:
1、没有设置宽度
没有高度宽度的div,就好像不存在的东西一样,除非你设置了border宽度,要不然你休想在网页里看到它。
<div style="margin:0 auto;"></div>
看看上面的代码,根本没有设置DIV的宽度,如何根据宽度自适应呢?新手比较容易忽略的问题!
2、没声明DOCTYPE
①DOCTYPE是document type(文档类型)的简写,在web设计中用来说明你用的XHTML或者HTML是什么版本。要建立符合标准的网页,DOCTYPE声明是必不可少的关键组成部分!
②看看下面的代码,是不是很熟悉?像这样的,在文档最顶端,所有代码之上的乱七八糟的东西,就是用来声明DOCTYPE的!
<!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">
④至于选择哪种。。使用过度的就可以了。。
说了半天,margin:0 atuo;不起作用,不能居中的话,看看你的文档最顶端有没有声明DOCTYPE,没有就复制粘贴一下,就可以了!
最后面介绍我常用的一种解决方案,完美秒杀任何浏览器的兼容
1 body { 2 margin: 0; 3 padding: 0; 4 color:#777; 5 font:12px Verdana,Arial,Tahoma; 6 text-align:center; 7 background:#fff; 8 }
后面的div盒子模型,全部采用左浮动,float:left;
至于有的网友会问,那么我的网页盒子模型之间的空白怎么弄出来呢?如果这个你想不到,我只好说你不适合学网页前端设计,绝对没有用到像margin-left,margin-right这些属性。不懂的朋友私信我吧