2009-08-23 100 views
1

我想重写设置已经与选择 家长选择定义,但我不知道怎么办。 说,还有一个网站上的两页类似下面的...Sifr3 - 是否可以使用父选择器覆盖CSS样式?

- 首页页面 -
<body><h1 class="sifr">Home</h1></body>

- 关于PAGE-
<body class="about"><h1 class="sifr">About</h1></body>

然后,我在sirf-有这些config.js ...

sIFR.replace(字体名,{ 选择: 'h1.sifr', CSS: '.sIFR根{颜色:#666666;字体大小:29px;}' });

sIFR.replace(字体名,{ 选择: 'body.about h1.sifr', CSS: '.sIFR根{颜色:#FFFFFF;字体大小:29px;}' });

,但它不工作...

如果有人帮助我,我将不胜感激。

+0

谢谢你的答案,但是这是sIFR的-config.js具体问题。我知道如何简单地处理CSS而不是使用sifr;显然不是这种情况。我仍然努力做到这一点,请别人帮忙!我可能应该标记JavaScript以及.. – 2009-08-23 23:33:23

回答

0

h1.sifr之前运行替换body.about h1.sifr。 sIFR不计算特异性,但按顺序执行替换。更换h1.sifr代替所有这些元素,所以只body.about h1.sifr发现已经被替换元素。

+0

非常感谢。你是明星!我不知道这件事,但现在我越来越喜欢sifr了! – 2009-09-05 19:23:34

0

检查您的加载CSS VS发出替换命令...

0

我不使用sIFR的,所以我并不确切地知道它是如何工作的顺序。我假设的代码创建CSS代码:

h1.sifr { color: #666666; font-size: 29px; } 
body.about h1.sifr { color: #FFFFFF; font-size: 29px; } 

如果确实如此,这将覆盖色彩风格在有关网页的标题,作为第二线的选择比选择更具体第一行。

你可以阅读更多关于特异性here

如果它不工作,那是因为有东西在你的代码并不像你想象的那样,它很可能是东西,你有没有看到您的代码的其他部分这是造成问题的原因。

您可以使用Firebug的插件在Firefox检查在页面中的元素,看看到底哪个CSS是影响每个元素。