DotNetNuke(DNN)皮肤制作--如何居中内容
设计皮肤我们遇到的第一个问题就是如何居中内容,一般使用CSS+DIV布局有两种方法,
第一种方法是使用 auto margins,第二种方法是使用负margins
翻翻资料,使用auto margins的一般都是这么写的:
假设HTML部分如下:
 <body>
<body>
 <div id="wrapper">
<div id="wrapper">
 </div>
</div>
 </body>
现在使用auto margins居中id为wrapper的DIV,
</body>
现在使用auto margins居中id为wrapper的DIV,
 #wrapper
#wrapper
 {
{
 width: 720px;
   width: 720px; 
 margin: 0 auto;
   margin: 0 auto;
 }
但你却发现,按照这种“标准”写法,皮肤安装到DotNetNuke中后,在IE 5.x/Win、IE 6/Win中里面却怎么也没法把内容居中,auto margins方法失效了,
}
但你却发现,按照这种“标准”写法,皮肤安装到DotNetNuke中后,在IE 5.x/Win、IE 6/Win中里面却怎么也没法把内容居中,auto margins方法失效了,
这是为什么呢?原来,IE 5.x/Win是不支持auto margins的,而DNN默认的DOCTYPE会触发IE6进入quirks模式(如何解决),这种模式下也是不支持auto margins的,看样子这个经典居中方法是没法用在DNN上了,幸运的是,IE错误的理解text-align:center这个定义,IE会把所有的东西都居中而不仅仅是text,我们可以利用这一点来解决问题。修改后的代码如下(只需要修改CSS部分):
 body
body
 {
{
 text-align:center;
   text-align:center;
 }
}

 #wrappter
#wrappter
 {
{
 width:720px;
   width:720px;
 margin: 0 auto;
   margin: 0 auto;
 text-align: left;
   text-align: left;
 }
修改完再试一试,在IE里面也表现完美!
}
修改完再试一试,在IE里面也表现完美!
第二种方法是使用负的margin,这种方法也会带来版式上的问题,且听下回分解!
第一种方法是使用 auto margins,第二种方法是使用负margins
翻翻资料,使用auto margins的一般都是这么写的:
假设HTML部分如下:
 <body>
<body> <div id="wrapper">
<div id="wrapper"> </div>
</div> </body>
</body> #wrapper
#wrapper {
{ width: 720px;
   width: 720px;  margin: 0 auto;
   margin: 0 auto; }
}这是为什么呢?原来,IE 5.x/Win是不支持auto margins的,而DNN默认的DOCTYPE会触发IE6进入quirks模式(如何解决),这种模式下也是不支持auto margins的,看样子这个经典居中方法是没法用在DNN上了,幸运的是,IE错误的理解text-align:center这个定义,IE会把所有的东西都居中而不仅仅是text,我们可以利用这一点来解决问题。修改后的代码如下(只需要修改CSS部分):
 body
body {
{ text-align:center;
   text-align:center; }
}
 #wrappter
#wrappter {
{ width:720px;
   width:720px; margin: 0 auto;
   margin: 0 auto; text-align: left;
   text-align: left; }
}第二种方法是使用负的margin,这种方法也会带来版式上的问题,且听下回分解!

 }
} 
                
            
         
 浙公网安备 33010602011771号
浙公网安备 33010602011771号