2009-08-05 81 views
0

我正在写一些涉及CSS选项卡的代码,但IE不支持:target css3属性。我通过检查间隔(ew)中的哈希值来解决问题,但我只想在下列情况下运行该代码:target不受支持。我会做常规IE检查,除了早期版本的Firefox不支持它,早期的Safari或Opera也不支持。有谁知道如何测试:目标支持?JS测试:目标支持

回答

1

您可以通过添加#someid:target { visibility:hidden; color:#abcdef; }之类的规则,然后将目标设置为#someid,读取颜色是否为#abcdef,然后重置散列来测试CSS支持。

但是,这将在浏览器历史记录中生成条目:1用于导航到ID时,1用于当您将其重置为之前的任何内容时。它也可能在你的标签中产生闪烁,所以这可能不是理想的 - 但我不知道你能逃脱什么。

理想情况下,制表符理想情况下应读取和写入书签的散列。但我不认为:target是创建标签的理想解决方案。我知道它看起来很有吸引力(did to me)。由于选择器的支持很差,它的嵌套或多个选项卡有多大,以及其他标记如何变化(有人在页面上添加了一个#跳转链接),所以使用良好的旧点击实现起来并不令人头疼。

+0

是的,这就是我所害怕的。我想我可能会操纵哈希,所以你可以链接到标签,但不要依赖他们的显示(阅读“CSS”)。 – psayre23 2009-08-07 19:35:23