style中display:none與visible:hidder的區別

  • 作者:由 匿名使用者 發表于 攝影
  • 2021-09-30

style中display:none與visible:hidder的區別 匿名使用者 1級 2011-05-06 回答

一、

web頁面前臺編碼時經常用到display:none樣式,平常使用時發現有幾點特徵需要注意

1、如果在樣式檔案或頁面檔案程式碼中直接用display:none對元素進行了隱藏,載入頁面後,在沒有透過js設定樣式使元素顯示的前提下,使用js程式碼會無法正確獲得該元素的一些屬性,比如offSetTop,offSetLeft等,返回的值會為0,透過js設定style。display來使元素顯示後才能正確獲得這些值。

2、使用display:none隱藏的元素不會被百度等搜尋網站檢索,會影響到網站的SEO,某些情況下可以使用left:-100000px來達到同樣效果。

3、如果是透過樣式檔案或方式來設定元素的display:none樣式,用js設定style。display=“”並不能使元素顯示,可以使用block或inline等值來代替。透過style=“display:none”直接在元素上進行的設定不會有這個問題

4、有些情況下可以使用style。visibility來代替style。display,但是要注意的是style。visibility隱藏元素時會保留元素在頁面上所佔的空間,而style。display隱藏元素且讓出所佔頁面空間。

二、

display:none和visible:hidden都能把網頁上某個元素隱藏起來,但兩者有區別:

display:none ——-不為被隱藏的物件保留其物理空間,即該物件在頁面上徹底消失,通俗來說就是看不見也摸不到。

visible:hidden——- 使物件在網頁上不可見,但該物件在網頁上所佔的空間沒有改變,通俗來說就是看不見但摸得到。

例子:

display:none和visible:hidden的區別

隱藏區域顯示區域

隱藏區域顯示區域

Top