设计皮肤我们遇到的第一个问题就是如何居中内容,一般使用CSS+DIV布局有两种方法,
第一种方法是使用 auto margins,第二种方法是使用负margins
翻翻资料,使用auto margins的一般都是这么写的:
假设HTML部分如下:
<body>
<div id="wrapper">
</div>
</body>现在使用auto margins居中id为wrapper的DIV,
#wrapper
{
width: 720px;
margin: 0 auto;
}但你却发现,按照这种“标准”写法,皮肤安装到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
{
text-align:center;
}

#wrappter
{
width:720px;
margin: 0 auto;
text-align: left;
}修改完再试一试,在IE里面也表现完美!
第二种方法是使用负的margin,这种方法也会带来版式上的问题,且听下回分解!
第一种方法是使用 auto margins,第二种方法是使用负margins
翻翻资料,使用auto margins的一般都是这么写的:
假设HTML部分如下:
<body>
<div id="wrapper">
</div>
</body>
#wrapper
{
width: 720px;
margin: 0 auto;
}这是为什么呢?原来,IE 5.x/Win是不支持auto margins的,而DNN默认的DOCTYPE会触发IE6进入quirks模式(如何解决),这种模式下也是不支持auto margins的,看样子这个经典居中方法是没法用在DNN上了,幸运的是,IE错误的理解text-align:center这个定义,IE会把所有的东西都居中而不仅仅是text,我们可以利用这一点来解决问题。修改后的代码如下(只需要修改CSS部分):
body
{
text-align:center;
}
#wrappter
{
width:720px;
margin: 0 auto;
text-align: left;
}第二种方法是使用负的margin,这种方法也会带来版式上的问题,且听下回分解!
继续阅读与本文标签相同的文章
-
“SQL Server does not allow remote connections”错误的解决
2026-05-25栏目: 教程
-
DNN发邮件通知4.8.2有漏洞,最好升级到新版本
2026-05-25栏目: 教程
-
如何去除Search Skin ojbect中的"web"和"site"选项按键
2026-05-25栏目: 教程
-
DotNetNuke(DNN)自带弹出日历显示中文的方法
2026-05-25栏目: 教程
-
C# 面试题解析-请遍历页面上所有的TextBox控件并给它赋值为string.Empty
2026-05-25栏目: 教程


}