Javascript sIFR3:控制a和a:通过CSS而不是JS替换内部的悬停样式
为了在我的网站上为sIFR功能提供优雅和最少的编码,我希望尽可能多地在CSS中定义样式。我是这样做的: •定义一个由sIFR3替换的H3标签 •H3由CSS根据其容器提供不同的颜色,例如:Javascript sIFR3:控制a和a:通过CSS而不是JS替换内部的悬停样式,javascript,html,css,sifr,Javascript,Html,Css,Sifr,为了在我的网站上为sIFR功能提供优雅和最少的编码,我希望尽可能多地在CSS中定义样式。我是这样做的: •定义一个由sIFR3替换的H3标签 •H3由CSS根据其容器提供不同的颜色,例如: body.blue-txt h3{ color: #009CDA; } body.white-txt h3{ color: #FFFFFF; } body.yellow-txt h3{ color: #FFFF00; } body.etc.... •H3可能包含一个锚(我知道语义问题,但这就是目前的情况……
body.blue-txt h3{ color: #009CDA; }
body.white-txt h3{ color: #FFFFFF; }
body.yellow-txt h3{ color: #FFFF00; }
body.etc....
•H3可能包含一个锚(我知道语义问题,但这就是目前的情况……对不起)
设置为:
sIFR.useStyleCheck = true;
我想sIFR3会用CSS样式表中正确的颜色显示替换后的正常H3文本。到目前为止,一切顺利:
我可以通过使用sifr.replace()的css参数来调整sifr-config.js中的蓝色文本:
但在JS和CSS中,我的sIFR替换中的每一种文本颜色都必须进行编码。因此,我想让sIFR.useStyleCheck设置只考虑sIFR-config.CSS中的CSS,如:
body.blue-txt h3{ color: #009CDA; }
body.blue-txt h3 a{ color: #009CDA; }
body.blue-txt h3 a:hover{ color: #009CDA; text-decoration: underline; }
只是这似乎不起作用。。。链接文本一直以#0000FF的形式弹出,悬停处没有下划线。这只是
还不是一项功能吗?
,还是我做错了什么?看起来v2.0的这个分支正是您所需要的
另一种可能性是FLIR图像替换
如果我可以建议的话,为什么不使用@font-face呢?到目前为止,大多数人已经升级到Firefox3+,WebKit浏览器(Safari、Chrome等)已经实现了一段时间,甚至IE5.5+也支持@font-face。这将解决您的:悬停问题,并将更加语义和逻辑,以及更快,但更好的是没有闪光灯!)
但老实说,@font-face将是最好的选择,除非您专门针对
useStyleCheck
对Flash电影中的颜色没有影响。您需要在sIFR.replace()
参数中指定所有样式(字体大小除外)
现在,您可以使用回调根据被替换元素的当前样式更新应用的CSS。不过,您确实需要自己对其进行编程。sIFR 2已经过时了。这一点很好,但我们必须等待用@font-face重构这个css;这是一个现有的网站,它在如何实现sIFR方面有一些小问题。但是对于新的网站来说,这当然是一条路要走。是的,我看到我上面的代码有一个不起作用的例子,被广告为起作用,我会改变文本。不过,我不确定modifyCss()是否符合我的要求。我的样式表中的CSS
color
属性不能自动使用(就像字体大小一样),而不是通过sIFR.replace()中的CSS参数强制使用吗?当然可以,但是您可以在那里指定其他CSS属性,这些属性不能从浏览器CSS中移除。因此决定不解除任何东西。
body.blue-txt h3{ color: #009CDA; }
body.blue-txt h3 a{ color: #009CDA; }
body.blue-txt h3 a:hover{ color: #009CDA; text-decoration: underline; }