我有一个想要在点击时更改的图像元素.
<img id="btnLeft">
Run Code Online (Sandbox Code Playgroud)
这有效:
#btnLeft:hover {
width:70px;
height:74px;
}
Run Code Online (Sandbox Code Playgroud)
但我需要的是:
#btnLeft:onclick {
width:70px;
height:74px;
}
Run Code Online (Sandbox Code Playgroud)
但是,它显然不起作用.是否有可能onclick在CSS中有行为(即不使用JavaScript)?
HTML5具有新的全局属性,hidden可用于隐藏内容.
<article hidden>
<h2>Article #1</h2>
<p>Lorem ipsum ...</p>
</article>
Run Code Online (Sandbox Code Playgroud)
CSS具有display:none规则,也可用于隐藏内容.
article { display:none; }
Run Code Online (Sandbox Code Playgroud)
在视觉上,它们是相同的.语义上有什么区别?计算?
我应该考虑何时使用其中一个?
TIA.
编辑:基于@newtron的回复(下文),我做了更多的搜索.该hidden属性去年激烈争论,(显然)几乎没有进入HTML5规范.有些人认为这是多余的,没有任何目的.据我所知,最终的评估是这样的:如果我只针对网络浏览器,那就没有区别了.(有一页甚至声称Web浏览器用于display:none实现隐藏属性.)但是如果我正在考虑可访问性(例如,我希望我的内容可以被屏幕阅读器读取),那么就会有所不同.CSS规则display:none可能会将我的内容隐藏在Web浏览器中,但相应的咏叹调规则(例如aria-hidden="false")可能会尝试阅读它.因此,我现在同意@newtron的答案是正确的,尽管可能(可以说)并不像我想的那样清楚.感谢@newtron的帮助.
这是复选框hack:https: //css-tricks.com/the-checkbox-hack/
我的问题是为什么通过将复选框放在页面上来"隐藏"复选框,如CSS Tricks中的示例所示:
position: absolute;
top: -9999px;
left: -9999px;
Run Code Online (Sandbox Code Playgroud)
为什么不这样做:
display: none;
Run Code Online (Sandbox Code Playgroud)
答案如何css复选框黑客工作?说:
"隐藏复选框
display:none可能会导致某些浏览器出现错误行为.只需将其隐藏起来position: absolute就更安全了."
哪些浏览器?使用绝对位置将元素放置在页面之外是否有任何缺点?更具体地说,使用绝对位置将输入放在页面上是否有任何缺点?