2

我已经把这个简单的代码放在一起,仅使用 CSS 来显示/隐藏一些点击内容。它可以在 FF 中按我想要的方式工作,但不能在 Chrome 或 Safari 中工作(在 IE 中尚未测试)

http://jsfiddle.net/fW3yW/

有人可以告诉我为什么它在这些浏览器中不起作用并提出替代方案(仅在可能的情况下使用 CSS)?

这是使用代码的网站 - http://www.themontessoripeople.co.uk/montesori/?page_id=20#policies-list

4

4 回答 4

4

添加了 tabindex,适用于 Chrome:http: //jsfiddle.net/fW3yW/1/

从这里开始:css focus not working in safari and chrome

jQuery方法:http: //jsfiddle.net/fW3yW/12/

于 2012-09-25T21:51:24.427 回答
2

你在滥用 CSS。:focus伪类用于样式化具有焦点的表单元素,而不是用于链接<a>,浏览器可能实现:focus不同的地方,然后还有类似的:active伪类。

我建议您默认情况下不要使用 CSS 隐藏任何内容,而是使用 jQuery 在加载时隐藏元素,然后在单击链接时使用 jQuery 创建显示/隐藏动画(只需一行代码即可轻松完成)。它更加优雅,适用于更多浏览器。

于 2012-09-25T21:53:07.810 回答
0

改用 jQuery……更可靠、更优雅。

http://www.w3schools.com/jquery/jquery_hide_show.asp

于 2012-09-25T21:58:01.513 回答
0

您正在使用带有 XHTML 文档类型的 CSS3 选择器。我不知道所有浏览器都会处理带有 XHTML doctype 标签的 CSS3——尽管这两个规范不一定捆绑在一起。

您是否尝试过更改文档类型以指示 HTML5?(然后,当然,这会带来各种 HTML5shim 问题......)

于 2012-09-25T21:52:11.223 回答