我正在开发一个相当大的网站,网站上已经有一个很大的样式表.我们正在与这家大公司合作,这些公司的变更能力有限(没有完全访问权限).
我们将为网站上的特定部分应用一些新样式,如果需要,我们已经获得了绿灯,以包括第二个覆盖样式表(除了全局样式表).
我的问题是这个.如果使用此方法,是否需要注意任何浏览器不兼容问题?由于这个网站的受欢迎程度以及他们每天收到多少观点,我们需要尽可能地兼容,我只是想确保我们的CSS覆盖我们正在使用的部分没有拴住.
我听说过一些传闻IE可能无法正确处理覆盖.这是我们将要做的样式覆盖类型的一个例子……
如果我有身体{颜色:蓝色;和body {font-weight:bold;在第二个CSS文件中,我们会变蓝和粗体对吗?
解决方法
你用CSS描述的是继承,基本上它会“堆叠”你的css定义,所以你做了body {color:blue}的例子,body {font-weight:bold;你将通过继承结束身体的两个值(而不是重写!)
要对抗继承,您需要将主要的css表定义清零或消除.
所以如果你有这样的例子:
body { padding: 5px; color: red }
并且你希望在你的第二张表中有一个3px的字体颜色为蓝色,你可以执行以下操作来对抗继承
body {padding: 0px; margin: 3px; color: blue }
这样你就可以将填充归零(如果你愿意,可以将其取消为0).颜色将被覆盖,保证金将是新增值.
我建议(如果你已经没有)使用启用了firebug的Firefox(双屏幕帮助很大,但不需要). Firebug将显示由于继承而被取消的行,并且实质上会被覆盖.
您也可以使用自己的类,并在类定义上加倍(或更多),如下所示:
.red { color: red; } .center { text-align: center; } .w500px { width: 500px; } <div class="red center w500px">This text is red and centered</div>
这样您只需将值组合成一个值.可能会给你另一个关于如何以不同方式做事的想法.
希望有所帮助.