共同點(diǎn):都可以隱藏元素忆绰,讓元素不可見
區(qū)別:
display: none
(1)DOM 結(jié)構(gòu):瀏覽器不會(huì)渲染 display 屬性為 none 的元素,不占據(jù)空間可岂;
(2)事件監(jiān)聽:無(wú)法進(jìn)行 DOM 事件監(jiān)聽错敢;
(3)性能:動(dòng)態(tài)改變此屬性時(shí)會(huì)引起重排,性能較差;
(4)繼承:不會(huì)被子元素繼承稚茅,畢竟子類也不會(huì)被渲染纸淮;
(5)transition:transition 不支持 display。
visibility: hidden
(1)DOM 結(jié)構(gòu):元素被隱藏亚享,但是會(huì)被渲染不會(huì)消失咽块,占據(jù)空間;
(2)事件監(jiān)聽:無(wú)法進(jìn)行 DOM 事件監(jiān)聽欺税;
(3)性 能:動(dòng)態(tài)改變此屬性時(shí)會(huì)引起重繪侈沪,性能較高;
(4)繼 承:會(huì)被子元素繼承晚凿,子元素可以通過設(shè)置 visibility: visible; 來取消隱藏亭罪;
(5)transition:transition 支持 visibility。
opacity: 0
(1)DOM 結(jié)構(gòu):透明度為 100%歼秽,元素隱藏应役,占據(jù)空間;
(2)事件監(jiān)聽:可以進(jìn)行 DOM 事件監(jiān)聽燥筷;
(3)性 能:提升為合成層箩祥,不會(huì)觸發(fā)重繪,性能較高肆氓;
(4)繼 承:會(huì)被子元素繼承,且滥比,子元素并不能通過 opacity: 1 來取消隱藏;
(5)transition:transition 支持 opacity做院。