元素显示与隐藏
- background: transparent; 与 opacity: 0; 的区别是什么?
答:background: transparent; 仅仅是将元素的背景设置成透明;而 opacity: 0; 会把元素和内容(包括其子元素)都变成透明。
- display: none; 与 visibility: hidden; 的区别是什么?
答:visibility: hidden; 会隐藏元素,但是其他元素的布局不改变,相当于此元素变成透明,它会导致浏览器重绘。如果子元素设置了 visibility: visible; 那么子元素依然可见,;display: none; 相当于元素没有了后代元素,在正常流中不占用任何空间,元素的真是尺寸将会丢失,还会导致浏览器的重排(Reflow)和重绘(Repain)。