Search code examples
htmlcssblogger

How to create Vertical drop down menu animated menu


I have been trying to make exact drop down which this website as https://www.geeksforgeeks.org/python-programming-language/

Expected like below:

vertical menu

Not getting what I am actually missing and the code below is not flexible like the above website vertical drop-down menu

My vertical menu

The sub-menus of my website is not properly coming half get cut

This is my website to which I applied the code below:

https://codemyquestion.blogspot.com/

Code:

 <style>
    
    body {
        background-color: #fff;
        font-size: 14px;
    }
      
     nav {
        position: relative;
        width: 180px;
    }
    
    nav ul {
        list-style: none;
        margin: 0;
        padding: 0;
    }
    nav ul li {
      /* Sub Menu */
    }
    nav ul li a {
        display: block;
        background: #ebebeb;
        padding: 10px 15px;
        color: #333;
        text-decoration: none;
        -webkit-transition: 0.2s linear;
        -moz-transition: 0.2s linear;
        -ms-transition: 0.2s linear;
        -o-transition: 0.2s linear;
        transition: 0.2s linear;
    }
    nav ul li a:hover {
        background: #f8f8f8;
        color: #515151;
    }
    nav ul li a .fa {
        width: 16px;
        text-align: center;
        margin-right: 5px;
        float:right;
    }
    nav ul ul {
        background-color:#ebebeb;
    }
    nav ul li ul li a {
        background: #f8f8f8;
        border-left: 4px solid transparent;
        padding: 10px 20px;
    }
    nav ul li ul li a:hover {
        background: #ebebeb;
        border-left: 4px solid #3498db;
    }
    
    
    
    
    </style>
    
    
    <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" />
    <nav class='animated bounceInDown'>
        <ul>
            <li><a href='#profile'>Profile</a></li>
            <li><a href='#message'>Messages</a></li>
            <li class='sub-menu'><a href='#settings'>Settings<div class='fa fa-caret-down right'></div></a>
                <ul>
                    <li><a href='#settings'>Account</a></li>
                    <li><a href='#settings'>Profile</a></li>
                
                </ul>
            </li>
        
            <li class='sub-menu'><a href='#Somethin'>Something<div class='fa fa-caret-down right'></div></a>
                <ul>
                    <li><a href='#settings'>Account</a></li>
                    <li><a href='#settings'>Profile</a></li>
                
                </ul>
            </li>
        
        
            <li class='sub-menu'><a href='#message'>Help<div class='fa fa-caret-down right'></div></a>
                <ul>
                    <li><a href='#settings'>FAQ's</a></li>
                    <li><a href='#settings'>Submit a Ticket</a></li>
                    <li><a href='#settings'>Network Status</a></li>
                </ul>
            </li>
        
        </ul>
      
    </nav>
    
    
    
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
    
    <script>
    
    
    
    $('.sub-menu ul').hide();
    $(".sub-menu a").click(function () {
        $(this).parent(".sub-menu").children("ul").slideToggle("100");
        $(this).find(".right").toggleClass("fa-caret-up fa-caret-down");
    });
    
    </script>


Solution

  • Add this styling

    .widget ul {
        padding: 0 !important;
    }
    
    #sidebar-left-1 .widget-content nav {
        width: unset !important;
    }
    
    #sidebar-left-1 {
        margin: 0 !important;
    }