Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 亚洲视频网址,国产精品女同一区二区久久夜 ,久久久毛片免费全部播放

          整合營銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          web前端30秒之顯示隱藏與toggle

          、顯示

          el.style.display = '';

          2、隱藏

          el.style.display = 'none';

          3、toggle

          function toggle(el) {
            if (el.style.display == 'none') {
              el.style.display = '';
            } else {
              el.style.display = 'none';
            }
          }

          4、完整例子


          一說起隱藏HTML頁面上的元素,很多人第一反應(yīng)就是設(shè)置元素的css屬性display:none;值,這是一種最常見的隱藏頁面元素方法。本篇文章我們就一起看看使用CSS隱藏頁面元素的方法,以及它們的區(qū)別。

          本篇文章中的例子直接放到github地址中,感興趣的同學(xué)可以自取。

          https://github.com/zhouxiongking/article-pages/blob/master/articles/hideElement/hideElement.html

          CSS

          方法1-display:none

          正如上文說的一樣,最簡單也最粗暴的方法就是設(shè)置元素的display屬性為none;

          display:none;

          設(shè)置為display:none;的元素將不會(huì)再占用頁面空間,其占用的空間會(huì)被其他元素所占有,從而會(huì)引起瀏覽器的重排和重匯。

          方法2-visibility: hidden

          另外一種方法是設(shè)置元素的visibility屬性為hidden。

          visibility: hidden

          這種做法雖然能夠隱藏元素,但是該元素仍會(huì)占用頁面空間,因此只會(huì)導(dǎo)致瀏覽器的重匯而不會(huì)引起重排。

          如果希望元素隱藏后不會(huì)引起頁面布局的變化,則推薦使用visibility:hidden;方式。

          方法3-opacity:0

          設(shè)置元素透明度opacity屬性為0,也可以隱藏頁面元素。

          opacity:0

          在呈現(xiàn)上與visibility:hidden;方式一樣,同樣會(huì)占據(jù)頁面空間。

          差異性-頁面布局

          對(duì)頁面布局的影響主要是看是否會(huì)引起瀏覽器的重匯和重排,對(duì)應(yīng)的差異如下圖所示。

          頁面布局差異

          差異性-事件綁定

          • display:none;的元素會(huì)直接從頁面上消失,因此在該元素上綁定的事件不會(huì)生效。

          • visibility: hidden;的元素不會(huì)觸發(fā)綁定的事件。

          • opacity:0; 的元素會(huì)觸發(fā)綁定的事件,例如點(diǎn)擊會(huì)觸發(fā)click函數(shù)。

          我們可以通過以下的例子來看看。

          首先我們定義兩個(gè)div,分別設(shè)置為visibility: hidden;和opacity:0,在兩個(gè)div上分別綁定一個(gè)click事件。

          定義div元素

          綁定的事件

          當(dāng)我們?cè)趦蓚€(gè)元素都進(jìn)行點(diǎn)擊時(shí),可以在控制臺(tái)看到如下輸出結(jié)果。

          結(jié)果

          從上述結(jié)果可以看出和上述結(jié)論一致。

          差異性-動(dòng)畫屬性

          • display:none;的元素會(huì)直接從頁面消失,因此定義transition效果完全無效。

          • visibility:hidden;的元素會(huì)在transition設(shè)置的時(shí)間內(nèi)消失,但是沒有動(dòng)畫效果。

          • opacity:0;的元素可以和正常元素一樣,從頁面以動(dòng)畫效果消失。

          同樣我們可以通過以下這個(gè)例子來看看。

          首先,我們定義兩個(gè)div,并設(shè)置其transition屬性。

          div元素

          定義transition效果

          我們通過將鼠標(biāo)移至元素上,可以看到兩者的差異,從而驗(yàn)證了上述結(jié)論的正確性。

          結(jié)束語

          本篇文章主要講解了使用CSS隱藏元素的幾種常用方法,并講解了它們之間的區(qū)別,以便大家在特定的場(chǎng)景中進(jìn)行選擇。

          平常的樣式排版中,我們經(jīng)常遇到將某個(gè)模塊隱藏,下面我整理了一下隱藏元素的多種方法以及對(duì)比(有的占據(jù)空間,有的不占據(jù)空間。有的可以點(diǎn)擊,有的不能點(diǎn)擊。):

          ( 一 ) display: none;

          特點(diǎn):元素不可見,不占據(jù)空間,無法響應(yīng)點(diǎn)擊事件。

          .hide{
           display: none; 
          }
          

          ( 二 ) opacity: 0; ( IE8以下版本:filter:Alpha(opacity=50) )

          特點(diǎn):改變?cè)赝该鞫龋夭豢梢姡紦?jù)頁面空間,可以響應(yīng)點(diǎn)擊事件。

          .hide{
           opacity: 0;
           filter:Alpha(opacity=0); 
          }
          

          ( 三 ) visibility: hidden;

          特點(diǎn):元素不可見,占據(jù)頁面空間,無法響應(yīng)點(diǎn)擊事件。


          .hide{
           visibility: hidden;
          }
          

          ( 四 ) transform: scale(0);

          ( 1 ) zoom: 0.1; transform: scale(0);

          特點(diǎn):元素不可見,IE 6 7 9 不占據(jù)頁面空間,IE8 谷歌 火狐 歐朋 等瀏覽器占據(jù)空間,無法響應(yīng)點(diǎn)擊事件。


          .hide{
           zoom: 0.1;
           transform: scale(0);
           -webkit-transform: scale(0);
           -moz-transform: scale(0);
           -ms-transform: scale(0);
           -o-transform: scale(0); 
          }
          

          ( 2 ) position: absolute; zoom: 0.1; transform: scale(0);

          特點(diǎn):元素不可見,不占據(jù)頁面空間,無法響應(yīng)點(diǎn)擊事件。


          .hide{
           position: absolute;
           zoom: 0.1;
           transform: scale(0);
           -webkit-transform: scale(0);
           -moz-transform: scale(0);
           -ms-transform: scale(0);
           -o-transform: scale(0); 
          }
          

          ( 五 ) width: 0; height: 0; 配合overflow: hidden;

          特點(diǎn):元素不可見,不占據(jù)頁面空間,無法響應(yīng)點(diǎn)擊事件。但 padding值 和 margin值 依然存在,需要將內(nèi)外邊距都調(diào)整為0。

          .hide{
           display: inline-block;
           width: 0;
           height: 0;
           padding: 0;
           margin: 0;
           overflow: hidden; 
          }
          

          ( 六 ) position: absolute; left: -200%; 或者 top: -200%;等,父級(jí)需要相對(duì)定位,這種left top值可以根據(jù)具體的實(shí)際情況去定義

          特點(diǎn):元素不可見,不占據(jù)頁面空間,無法響應(yīng)點(diǎn)擊事件。


          . father{
           position: relative;
           overflow: hidden;
          }
          .hide{
           position: absolute;
           left: -200%;//或top: -200%; 
          }
          

          ( 七 ) clip-path: polygon(0px 0px,0px 0px,0px 0px,0px 0px)

          特點(diǎn):元素不可見,占據(jù)頁面空間,無法響應(yīng)點(diǎn)擊事件。


          .hide{
           float: left;
           width: 150px;
           margin: 20px;
           clip-path: polygon(0px 0px, 0px 0px, 0px 0px, 0px 0px); 
          }
          

          ( 八 ) margin: top | right | bottom | left ;父級(jí)添加overflow: hidden; (margin的值 一定要小于(子級(jí)的寬度加上邊距的總和的負(fù)數(shù)))

          特點(diǎn):元素不可見,不占據(jù)頁面空間,無法響應(yīng)點(diǎn)擊事件。


          .father{
           width: 400px;
           height: 400px;
           overflow: hidden;
          }
          .hide{
           display: inline-block;
           width: 200px;
           height: 200px;
           margin-left: -200px;
          }
          

          以上就是幾種隱藏元素的方法,我在以前的面試中,也碰到了面試官提出的一些關(guān)于隱藏元素css的對(duì)比,查閱了一些資料,做了以下整理:

          ( 一 ) display: none 和 visibility: hidden 的區(qū)別

          1. 占據(jù)頁面空間( display: none 將元素隱藏后,在頁面是是不占有空間位置的,而visibility: hidden 將元素隱藏后,還保留著元素大小的空間位置 ) ;

          2. display: none 影響了 reflow和repaint(回流與重繪),而visibility: hidden并沒有影響

          3. 某個(gè)模塊添加了display: none; 它下面的任何子級(jí)都會(huì)被隱藏,而添加了visibility: hidden,子級(jí)一旦有添加visibility: visible的css,該子級(jí)將不會(huì)被隱藏。

          ( 二 ) display: none 和 opacity: 0的區(qū)別

          1. 占據(jù)頁面空間( display: none 將元素隱藏后,在頁面是是不占有空間位置的,而opacity: 0 只是改變了元素的透明度將其隱藏,還保留著元素大小的空間位置 ) ;

          2. display: none 不會(huì)被子類繼承,但是子類一樣不會(huì)顯示。 opacity: 0 會(huì)被子類繼承,但不能像visibility的屬性一樣,給子類添加opacity:1,并不能將子類顯示。

          3. css3 transition 屬性對(duì)display:none 并無效果,但對(duì)opacity 則有效果。(附加一句,對(duì)visibility: hidden也無效果)


          主站蜘蛛池模板: 亚洲国产综合无码一区| 国产综合无码一区二区色蜜蜜| 麻豆AV一区二区三区| 激情综合一区二区三区| 亚洲国产成人一区二区精品区| 久久久久99人妻一区二区三区| 消息称老熟妇乱视频一区二区| 国产一区二区三区影院| 怡红院AV一区二区三区| 国产精品无码一区二区在线观一| 搜日本一区二区三区免费高清视频 | 在线视频一区二区| 中文字幕乱码人妻一区二区三区 | 国产视频福利一区| 一区二区免费电影| 麻豆天美国产一区在线播放| 无码中文字幕一区二区三区| 一区二区国产在线观看| 一区二区三区精品| 国产精品成人99一区无码| 亚洲欧洲∨国产一区二区三区| 韩国美女vip福利一区| 国产精品亚洲综合一区在线观看 | 精品少妇一区二区三区在线| 人妻久久久一区二区三区| 在线视频亚洲一区| 91福利视频一区| 成人区人妻精品一区二区不卡视频 | 中文乱码字幕高清一区二区 | 无码精品人妻一区二区三区免费看| 天堂va在线高清一区| 好湿好大硬得深一点动态图91精品福利一区二区 | 99久久精品费精品国产一区二区 | 国产无线乱码一区二三区| 国模私拍福利一区二区| 久久久精品一区二区三区 | 成人精品视频一区二区三区| 中文乱码人妻系列一区二区 | 色一情一乱一区二区三区啪啪高 | 亚洲午夜在线一区| 99精品久久精品一区二区|