[轉]disabled、display、visible區別


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

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

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

3、如果是通過樣式文件或<style>css</style>方式來設置元素的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 ---不為被隱藏的對象保留其物理空間,即該對象在頁面上徹底消失,通俗來說就是看不見也摸不到

visibility:hidden--- 使對象在網頁上不可見,但該對象在網頁上所占的空間沒有改變,通俗來說就是看不見但摸得到

例子:

<html>
<head>
<title>display:none和visible:hidden的區別</title>
</head>
<body >
<span style="display:none; background-color:Blue">隱藏區域</span><span style=" background-color:Green">顯示區域</span><br />
<span style="visibility:hidden; background-color:Blue">隱藏區域</span><span style="background-color:Green">顯示區域</span>
</body>
</html>

效果如下圖所示


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM