大家都知道display:none(以下简称dn)与visibility:hidden(以下简称vh)都可以隐藏元素,但是他们有以下几点区别:
1.空间占据
dn不会占据空间,vh则会占据空间
2.reflow与repaint
设置dn时会触发浏览器的reflow与repaint,vh不会
3.子元素牵连问题
如果给当前元素设置dn后,它所有的子元素不管如何挣扎都将被隐藏
如果给当前元素设置vh后,想要让它的某一个子元素显示,只需要设置visibility:visible;即可