我有一些元素,我想在某些条件下可见.
在AngularJS中我会写
<div ng-show="myVar">stuff</div>
Run Code Online (Sandbox Code Playgroud)
我怎么能在Angular中做到这一点?
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的帮助.