CSS 隱藏元素的八種方法

前言

總括:本文詳細講述了在網頁中用CSS隱藏元素的七種方法。

念念不忘,必有回響;有一口氣,點一盞燈。

正文

說起隱藏元素我想每一個前端er都能說起幾種,但能說全的我想就不是很多了。博主總結了幾種隱藏元素的方法,總結如下:

overflow:hiddenopacity:0;visibility:hiddendisplay:noneposition:absoluteclip(clip-path):rect()/inset()/polygon()z-index:-1000transform:scaleY(0)

我們為什么會需要這么多隱藏元素的方法呢,而且他們看起來實現的都是同樣的效果。其實每一種方法實際上都有一些細微的不同,這些不同決定了在一些特定場合下使用哪一種方法。我們下面細細探討下這些細微之處.

1. overflow

.hide{ opacity:0;/* 占據空間,可以點擊 */}.hide_2{ -webkit-filter:opacity(0); filter:opacity(0);/* 占據空間,可以點擊 */}

overflow的hidden用來隱藏元素溢出部分,占據空間,無法響應點擊事件。

2.opacity

過濾元素filter也可使用opacity值設置透明度,不過filter現在的兼容性不好,只支持webkit內核,這里順帶一提。

opacity是用來設置元素透明度的,但當設置成0的時候也就相當于隱藏元素了。因此,元素依然存在原來的位置,占據空間也可響應事件。如果你打算使用 opacity 屬性在讀屏軟件中隱藏元素,很不幸,你并不能如愿。元素和它所有的內容會被讀屏軟件閱讀,就像網頁上的其他元素那樣。換句話說,元素的行為就和它們不透明時一致。

3.visibility

.hide{ visibility:hidden; /* 占據空間,無法點擊 */}

如同 opacity 屬性,被隱藏的元素依然會對我們的網頁布局起作用。與 opacity 唯一不同的是它不會響應任何用戶交互。此外,元素在讀屏軟件中也會被隱藏

4.display

.hide{ display:none;/* 不占據空間,無法點擊 */}

經典的display隱藏元素,這個是徹底的隱藏了元素,不占據空間,也就不影響布局,當然也無法響應事件。

5.position

.hide{ position:absolute; left:-99999px; top:-90999px;/* 不占據空間,無法點擊 */}.hide-2{ position:relative; left:-99999px; top:-90999px;/* 占據空間,無法點擊 */}

假設有一個元素你想要與它交互,但是你又不想讓它影響你的網頁布局,沒有合適的屬性可以處理這種情況(opacity 和 visibility 影響布局, display 不影響布局但又無法直接交互——譯者注)。在這種情況下,你只能考慮將元素移出可視區域。這個辦法既不會影響布局,有能讓元素保持可以操作。下采用這種辦法未嘗不可。

6.clip/clip-path

.hide{ position:absolute;/*fixed*/ clip:rect(top,right,bottom,left);/* 占據空間,無法點擊 */}.hide_2 { clip-path: polygon(0px 0px,0px 0px,0px 0px,0px 0px);}

隱藏元素的另一種方法是通過剪裁它們來實現。在以前,這可以通過 clip 屬性來實現,但是這個屬性被廢棄了(現在瀏覽器依然支持),換成一個更好的屬性叫做 clip-path。clip-path屬性實在是用處大大滴有,可以很容易的實現一些復雜的圖形大漠老師分享的一個鏈接,該鏈接里的圖形大多都是用clip-path的polygon值來實現的。但可惜的是依舊只能在chrome40+瀏覽器里使用.

7.z-index

.hide{ position:absolute; z-index:-1000;/* 不占據空間,無法點擊 */}

通過設置z-index值使其它元素遮蓋該元素也算是一種隱藏了。

  1. transform

    .hide{ transform: scale(0,0)/* 占據空間,無法點擊 */}

后記

在這篇教程里,我們看了 7 種不同的通過 CSS 隱藏元素的方法。每一種方法都與其他幾種有一點區別。知道你想要實現什么有助于你決定采用哪一個屬性,隨著時間推移,你就能根據實際需求本能地選擇最佳方式了。如果你對于隱藏元素的這些方法還有任何問題,請在評論中留言。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,565評論 6 539
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,115評論 3 423
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,577評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,514評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,234評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,621評論 1 326
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,641評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,822評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,380評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,128評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,319評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,879評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,548評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,970評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,229評論 1 291
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,048評論 3 397
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,285評論 2 376

推薦閱讀更多精彩內容

  • 英文原文:Five Ways to Hide Elements in CSS作者:Baljeet Rathi譯者:...
    IT程序獅閱讀 392評論 0 1
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 13,779評論 1 92
  • 選擇qi:是表達式 標簽選擇器 類選擇器 屬性選擇器 繼承屬性: color,font,text-align,li...
    wzhiq896閱讀 1,785評論 0 2
  • 先把css隱藏頁面元素有幾種方法列出來,方便查看以及使用,下文再分析其中的原理 display : none ; ...
    Amfishers閱讀 1,153評論 0 3
  • 雨果有句名言 “你盯著深淵,深淵也會盯著你” 閉眼,不見 深淵還在,我卻在哪里 自嘲,想哭 一次次地死去 一次次地...
    有理性思想的浪漫詩人閱讀 261評論 0 0