我已经把这个简单的代码放在一起,仅使用 CSS 来显示/隐藏一些点击内容。它可以在 FF 中按我想要的方式工作,但不能在 Chrome 或 Safari 中工作(在 IE 中尚未测试)
有人可以告诉我为什么它在这些浏览器中不起作用并提出替代方案(仅在可能的情况下使用 CSS)?
这是使用代码的网站 - http://www.themontessoripeople.co.uk/montesori/?page_id=20#policies-list
我已经把这个简单的代码放在一起,仅使用 CSS 来显示/隐藏一些点击内容。它可以在 FF 中按我想要的方式工作,但不能在 Chrome 或 Safari 中工作(在 IE 中尚未测试)
有人可以告诉我为什么它在这些浏览器中不起作用并提出替代方案(仅在可能的情况下使用 CSS)?
这是使用代码的网站 - http://www.themontessoripeople.co.uk/montesori/?page_id=20#policies-list
添加了 tabindex,适用于 Chrome:http: //jsfiddle.net/fW3yW/1/
从这里开始:css focus not working in safari and chrome
jQuery方法:http: //jsfiddle.net/fW3yW/12/
你在滥用 CSS。:focus
伪类用于样式化具有焦点的表单元素,而不是用于链接<a>
,浏览器可能实现:focus
不同的地方,然后还有类似的:active
伪类。
我建议您默认情况下不要使用 CSS 隐藏任何内容,而是使用 jQuery 在加载时隐藏元素,然后在单击链接时使用 jQuery 创建显示/隐藏动画(只需一行代码即可轻松完成)。它更加优雅,适用于更多浏览器。
改用 jQuery……更可靠、更优雅。
您正在使用带有 XHTML 文档类型的 CSS3 选择器。我不知道所有浏览器都会处理带有 XHTML doctype 标签的 CSS3——尽管这两个规范不一定捆绑在一起。
您是否尝试过更改文档类型以指示 HTML5?(然后,当然,这会带来各种 HTML5shim 问题......)