搜尋
首頁web前端css教學使用純CSS打造可折疊樹狀選單方法介紹

隨著CSS3的發布,國外研究正如火如荼,但在國內還有很多人抱著IE不支持CSS3的想法,始終無動於衷不肯去學習。但歷史告訴我們,好的東西必將盛行,CSS3也終將也會取代CSS2,以下就和大家分享一個用CSS3打造的可折疊樹狀菜單。

樹狀選單相信大家都不會陌生,我們一般都用css+JS 的方式來實現。而css3的到來,讓我們擺脫JS的束縛,直接運用CSS3的「選擇器「就能實現可折疊樹狀選單。

整體的程式碼很多,就不逐句逐句講了,只把我覺得重要的地方提出來說說吧。

Html程式碼:





    1. file">下級< ;/li>




      1. 無限

      2. 無限

      3. 無限

      4. 無限

      5. 無限
      6. 無限
    2. > ;
    3. 無限



  • < ;/ol>


    實現的思路是運用checkbox的checked值來判斷下級欄位是否展開,CSS3的選擇器中提供了:checked 這個偽類,這個偽類別提供我們,當元素擁有checked這個值的時候就執行你的CSS。 (很強是吧。有了CSS3我們會少寫很多JS哦!)




    當checkbox的擁有checked值的時候就讓OL現實出來,達到我們想要的功能。

    接下來看看CSS程式碼:

    li input {
    position:absolute;left:0;margin-left:0;opacity:0;z-index:2; cursor:pointer;height:1em;width:1em;top:0;
    }
    input + ol {
    display:none;
    }
    input + ol >li { 
    height:0;overflow:hidden;margin-left:-14px!important;padding-left:1px; 
    }
    li label {
    cursor:pointer;display:block;padding-left:17px ;background:url(toggle-small-expand.png) no-repeat 0px 1px;
    }
    input:checked + ol {
    background:url(toggle-small.png) 44px 5px no-repeatground:url(toggle-small.png) 44px 5px no-repeat ;margin:-22px 0 0 -44px;padding:27px 0 0 80px;height:auto;display:block;
    }
    input:checked + ol > li {
    height:auto;##input:checked + ol > li {
    height:auto;
    }

    這段程式碼是樹狀選單的中心:

    input:checked + ol {
    background: url(toggle-small.png) 44px 5px no-repeat;margin : -22px 0 0 -44px;padding:27px 0 0 80px;height: auto;display: block;
    }

    這個是講當inoput 擁有了checked後它平級的OL擁有的樣式。
    使用IE9以下瀏覽就不用看了,請使用非IE瀏覽器


    (想讓IE6+瀏覽器支援也是可以,但是需要加JS來模擬css3屬性。國外有很多牛人都寫了讓IE6+瀏覽器支援部分CSS3的JS,例如PIE。)

    總結:
    整體來說,實作想法很簡單,主要是利用CSS3的checked 偽類來實現OL的隱藏顯示。不過可惜的是IE遊覽器不支援CSS3,但我們不能因為IE的不支持而放棄對CSS3的研究。在國外CSS3和HTML5都是前端很熱門的話題,他們研究的東西遠遠超過我們,但國內真正去嘗試的還是不多,對於一個前端開發人員來說是一件很可悲的事。我認為CSS3應該引起我們的重視,不能讓我們輸在起跑線。讓我們大家一起來推動CSS3的發展。 ###

    以上是使用純CSS打造可折疊樹狀選單方法介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

    陳述
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
    @KeyFrames CSS:最常用的技巧@KeyFrames CSS:最常用的技巧May 08, 2025 am 12:13 AM

    @keyframesispopularduetoitsversatoryand and powerincreatingsmoothcsssanimations.keytricksinclude:1)definingsmoothtransitionsbetnestates,2)使用AnimatingMultatingMultationMultationProperPertiessimultane,3)使用使用4)使用BombingeNtibalibility,4)使用CombanningWiThjavoFofofofoftofofo

    CSS計數器:自動編號的綜合指南CSS計數器:自動編號的綜合指南May 07, 2025 pm 03:45 PM

    CSSCOUNTERSAREDOMANAGEAUTOMANAMBERINGINWEBDESIGNS.1)他們可以使用forterablesofcontents,ListItems,and customnumbering.2)AdvancedsincludenestednumberingSystems.3)挑戰挑戰InclassINCludeBrowsEccerCerceribaliblesibility andperformiballibility andperformissises.4)創造性

    使用捲軸驅動動畫的現代滾動陰影使用捲軸驅動動畫的現代滾動陰影May 07, 2025 am 10:34 AM

    使用滾動陰影,尤其是對於移動設備,是克里斯以前涵蓋的一個微妙的UX。傑夫(Geoff)涵蓋了一種使用動畫限制屬性的新方法。這是另一種方式。

    重新訪問圖像圖重新訪問圖像圖May 07, 2025 am 09:40 AM

    讓我們快速進修。圖像地圖一直返回到HTML 3.2,首先是服務器端地圖,然後使用映射和區域元素通過圖像上的單擊區域定義了可單擊區域。

    DEV狀態:每個開發人員的調查DEV狀態:每個開發人員的調查May 07, 2025 am 09:30 AM

    開發委員會調查現已開始參與,並且與以前的調查不同,它涵蓋了除法:職業,工作場所,以及健康,愛好等。 

    什麼是CSS網格?什麼是CSS網格?Apr 30, 2025 pm 03:21 PM

    CSS網格是創建複雜,響應式Web佈局的強大工具。它簡化了設計,提高可訪問性並提供了比舊方法更多的控制權。

    什麼是CSS Flexbox?什麼是CSS Flexbox?Apr 30, 2025 pm 03:20 PM

    文章討論了CSS FlexBox,這是一種佈局方法,用於有效地對齊和分佈響應設計中的空間。它說明了FlexBox用法,將其與CSS網格進行了比較,並詳細瀏覽了瀏覽器支持。

    我們如何使用CSS使網站迅速響應?我們如何使用CSS使網站迅速響應?Apr 30, 2025 pm 03:19 PM

    本文討論了使用CSS創建響應網站的技術,包括視口元標籤,靈活的網格,流體媒體,媒體查詢和相對單元。它還涵蓋了使用CSS網格和Flexbox一起使用,並推薦CSS框架

    See all articles

    熱AI工具

    Undresser.AI Undress

    Undresser.AI Undress

    人工智慧驅動的應用程序,用於創建逼真的裸體照片

    AI Clothes Remover

    AI Clothes Remover

    用於從照片中去除衣服的線上人工智慧工具。

    Undress AI Tool

    Undress AI Tool

    免費脫衣圖片

    Clothoff.io

    Clothoff.io

    AI脫衣器

    Video Face Swap

    Video Face Swap

    使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

    熱工具

    Dreamweaver CS6

    Dreamweaver CS6

    視覺化網頁開發工具

    PhpStorm Mac 版本

    PhpStorm Mac 版本

    最新(2018.2.1 )專業的PHP整合開發工具

    SecLists

    SecLists

    SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

    SublimeText3 Mac版

    SublimeText3 Mac版

    神級程式碼編輯軟體(SublimeText3)

    MinGW - Minimalist GNU for Windows

    MinGW - Minimalist GNU for Windows

    這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。