Медленное открытие меню гамбургера

Я изо всех сил пытался заставить мое меню гамбургера медленно открываться. Мне потребовалось много времени, чтобы даже создать его.:) Может кто-нибудь сказать мне, если этот код CSS позволяет его постепенно открывать?

http://codepen.io/kiddigit/pen/EKRgQz

@media only screen and (max-width: 700px) {
    body {
        background-color: #white;
    }
    img {max-width: 100%; padding-bottom: 10px;
    }
    h1 {
        font-size: 30px;
    }


.wrapper {
    border: 0px;
    padding: 1px;
    background-color: white;
}
    .content {
        background-color: white;
        border: none;
        margin-left: 100px;
        margin-right: 100px;
    }

    .menu-btn div{
         float: left;
         padding-right: 0px;
         margin-top: 0em;
         line-height: 1.2;
         font-size: 18px;
         font-weight: 200;
         vertical-align: middle;
         z-index: 99;
    }

    .menu-btn span {
         display: block;
         width: 25px;
         height: 4px;
         margin-bottom: 5px;
         background: rgb(0,0,0);
         z-index: 99;
    }

        .menu-btn span:last-of-type {
            margin-bottom: 0;
        }

    .responsive-menu{
         display: none;
         overflow: hidden;
    }

    .responsive-menu ul {
          width: 80px;
          float: left;
          margin-right: 0;
          margin: 0;
    }

    .main-nav {
        border: none;
    }

    a {
        font-size: 10px;
        color: white;
    }

    .responsive-menu li {
        padding-left: 5px;
        font-size: 10px;
          line-height: 25px;
          list-style-type: none;
          background-color: black;  
    }

    .expand {
        display: block !important; 
    }

1 ответ

Решение
$( '.menu-btn' ).click(function(){
    $('.responsive-menu').slideToggle('slow');
});

UPD: плавное появление элемента при его изменении display от none в block не может быть достигнуто с помощью CSS. JQuery имеет несколько функций для этого, toggle () и slideToggle (). slideToggle выглядит лучше для выпадающего меню, поскольку изменяет высоту элемента с 0 до его естественной высоты. В скобках вы можете добавить скорость анимации, slow равно 600 миллисекундам, время в миллисекундах также может быть использовано: $('.responsive-menu').slideToggle(500)

Другие вопросы по тегам