解決CSS中display與visibility的區別?
區別:
1、占用域的空間不同。 visibility要占用域的空間,而display則不占用。 visibility和display都可以實現對頁的隱藏,例如: 將元素display屬性設為 block,會在該元素后換行。 將元素display屬性設為 inline,會消除元素換行。 將元素display屬性設為 none,隱藏該元素內容,且不占用域的空間。 將元素visibility屬性設為 hidden,隱藏該元素內容,但占用域的空間。 將元素visibility屬性設為 visible,顯示元素內容。
2、回應正常文檔流的不同。 如果你想隱藏某元素,但在頁面上保留該元素的空間的話,你應該使用visibility:hidden 。如果你想在隱藏某元素的同時讓其它內容填充空白的話應該使用display:none 。 在現實中我發現人們更多的傾向于使用display 屬性(相信這也是大多數人的習慣)。當你決定用display:none 來隱藏一個元素時,你必須知道其它內容將填充到該元素留下的空白位置,從而改變頁面的布局。