用HTML+CSS實現--折疊效果


下圖是一個Accordion組件,請用HTML+CSS實現其UI,並用面向對象的思路把折疊效果JS實現。如果能用純css的方式實現其折疊效果更佳。PS/這是小米15年的一道校招筆試題,無意間看到就實現了一下。

這個題讓最好用css實現,那就考察的知識點比較多啦!特別是css選擇器這一塊。具體實現代碼如下。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>純CSS實現百葉窗</title>
        <style type="text/css">
            * {
               margin: 0;
               padding: 0;
               }
            
            #parent >li> span{background: #999999;display: block;width: 200px;border:1px solid #ECEEF2;}
            li {line-height: 40px;display: block;}
            li  p{
                    display: inline-block;
                    width: 0px;
                    height: 0px;
                    border-left: 5px solid transparent;
                    border-right: 5px solid transparent;
                    border-top: 5px solid#2f2f2f;
                      }
             li>ul{display: none;}
             li>ul>li{border: 1px solid #DEDEDE;width: 199px;}
             #parent span:hover + ul{display: block;}
             #parent span:hover >p{
                     display: inline-block;
                    width: 0px;
                    height: 0px;
                    border-top: 5px solid transparent;
                    border-bottom: 5px solid transparent;
                    border-left: 5px solid#2f2f2f;}
        </style>
    </head>
    <body>
        <ul id="parent">
            <li>
                <span><p></p>列表</span>
                <ul>
                    <li>子列表</li>
                    <li>子列表</li>
                    <li>子列表</li>
                </ul>
            </li>
            <li>
                <span><p></p>列表</span>
                <ul>
                    <li>子列表</li>
                    <li>子列表</li>
                    <li>子列表</li>
                </ul>
            </li>
            <li>
                <span><p></p>列表</span>
                <ul>
                    <li>子列表</li>
                    <li>子列表</li>
                    <li>子列表</li>
                </ul>
            </li>
        </ul>
    </body>
</html>

 


免責聲明!

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



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