cssAudio - Activefile-genericCSS - ActiveGeneric - ActiveHTML - ActiveImage - ActiveJS - ActiveSVG - ActiveText - Activefile-genericVideo - ActiveLovehtmlicon-new-collectionicon-personicon-teamlog-outoctocatpop-outspinnerstartv

Pen Settings

CSS Base

Vendor Prefixing

Add External CSS

These stylesheets will be added in this order and before the code you write in the CSS editor. You can also add another Pen here, and it will pull the CSS from it. Try typing "font" or "ribbon" below.

Quick-add: + add another resource

Add External JavaScript

These scripts will run in this order and before the code in the JavaScript editor. You can also link to another Pen here, and it will run the JavaScript from it. Also try typing the name of any popular library.

Quick-add: + add another resource

Code Indentation

     

Save Automatically?

If active, Pens will autosave every 30 seconds after being saved once.

Auto-Updating Preview

If enabled, the preview panel updates automatically as you code. If disabled, use the "Run" button to update.

            
              <div class="wrapper">
        <div class="sidebar">
            <ul>
                <!-- Пункт меню 1 -->
                <li><a href="#">Пункт 1</a>
                    <ul>
                        <li><a href="#">подпункт 1.1</a></li>
                        <li><a href="#">подпункт 1.2</a>
                            <ul>
                                <li><a href="#"> подпункт 1.2.1 </a>
                                    <ul>
                                        <li><a href="#"> подпункт 1.2.1.1 </a></li>
                                        <li><a href="#"> подпункт 1.2.1.2</a>
                                            <ul>
                                                <li><a href="#"> подпункт 1.2.1.2.1 </a></li>
                                                <li><a href="#"> подпункт 1.2.1.2.2</a></li>
                                                <li><a href="#"> подпункт 1.2.1.2.3</a></li>
                                                <li><a href="#"> подпункт 1.2.1.2.4</a></li>
                                                <li><a href="#"> подпункт 1.2.1.2.5</a></li>
                                            </ul>
                                        </li>
                                        <li><a href="#"> подпункт 1.2.1.3</a></li>
                                        <li><a href="#"> подпункт 1.2.1.4</a></li>
                                        <li><a href="#"> подпункт 1.2.1.5</a></li>
                                    </ul>
                                </li>
                                <li><a href="#"> подпункт 1.2.2</a>
                                    <ul>
                                        <li><a href="#"> подпункт 1.2.2.1 </a></li>
                                        <li><a href="#"> подпункт 1.2.2.2 </a></li>
                                        <li><a href="#"> подпункт 1.2.2.3 </a></li>
                                        <li><a href="#"> подпункт 1.2.2.4 </a></li>
                                        <li><a href="#"> подпункт 1.2.2.5 </a></li>
                                    </ul>
                                </li>
                                <li><a href="#"> подпункт 1.2.3</a></li>
                                <li><a href="#"> подпункт 1.2.4</a></li>
                                <li><a href="#"> подпункт 1.2.5</a>
                                    <ul>
                                        <li><a href="#"> подпункт 1.2.5.1 </a></li>
                                        <li><a href="#"> подпункт 1.2.5.2</a></li>
                                        <li><a href="#"> подпункт 1.2.5.3</a></li>
                                        <li><a href="#"> подпункт 1.2.5.4</a></li>
                                        <li><a href="#"> подпункт 1.2.5.5</a></li>
                                    </ul>
                                </li>
                            </ul>
                        </li>
                        <li><a href="#">подпункт 1.3</a>
                            <ul>
                                <li><a href="#"> подпункт 1.3.1 </a></li>
                                <li><a href="#"> подпункт 1.3.2 </a></li>
                                <li><a href="#"> подпункт 1.3.3 </a></li>
                                <li><a href="#"> подпункт 1.3.4 </a></li>
                                <li><a href="#"> подпункт 1.3.5 </a></li>
                            </ul>
                        </li>
                        <li><a href="#">подпункт 1.4</a></li>
                        <li><a href="#">подпункт 1.5</a>
                            <ul>
                                <li><a href="#">подпункт 1.5.1 </a></li>
                                <li><a href="#"> подпункт 1.5.2</a></li>
                                <li><a href="#"> подпункт 1.5.3</a></li>
                                <li><a href="#"> подпункт 1.5.4</a></li>
                                <li><a href="#"> подпункт 1.5.5</a></li>
                            </ul>
                        </li>
                    </ul>
                </li>
                <!-- Пункт меню 2 -->
                <li><a href="#">Пункт 2</a>
                    <ul>
                        <li><a href="#">подпункт 2.1</a>
                            <ul>
                                <li><a href="#"> подпункт 2.1.1 </a>
                                    <ul>
                                        <li><a href="#"> подпункт 2.2.1.1 </a></li>
                                        <li><a href="#"> подпункт 2.2.2.2 </a></li>
                                        <li><a href="#"> подпункт 2.2.3.3 </a></li>
                                        <li><a href="#"> подпункт 2.2.4.4 </a></li>
                                        <li><a href="#"> подпункт 2.2.5.5 </a></li>
                                    </ul>
                                </li>
                                <li><a href="#"> подпункт 2.1.2</a></li>
                                <li><a href="#"> подпункт 2.1.3</a></li>
                                <li><a href="#"> подпункт 2.1.4</a></li>
                                <li><a href="#"> подпункт 2.1.5</a></li>
                            </ul>
                        </li>
                        <li><a href="#">подпункт 2.2</a></li>
                        <li><a href="#">подпункт 2.3</a></li>
                        <li><a href="#">подпункт 2.4</a></li>
                        <li><a href="#">Длинный подпункт, длинный подпункт</a></li>
                    </ul>
                </li>
                <!-- Пункт меню 3 -->
                <li><a href="#">Длинный пункт меню 3</a>
                    <ul>
                        <li><a href="#">подпункт 3.1</a>
                            <ul>
                                <li><a href="#"> подпункт 3.1.1 </a></li>
                                <li><a href="#"> подпункт 3.1.2 </a></li>
                                <li><a href="#"> подпункт 3.1.3 </a></li>
                                <li><a href="#"> подпункт 3.1.4 </a></li>
                                <li><a href="#"> подпункт 3.1.5 </a></li>
                            </ul>
                        </li>
                        <li><a href="#">подпункт 3.2</a>
                            <ul>
                                <li><a href="#"> подпункт 3.2.1 </a></li>
                                <li><a href="#"> подпункт 3.2.2 </a></li>
                                <li><a href="#"> подпункт 3.2.3 </a></li>
                                <li><a href="#"> подпункт 3.2.4 </a></li>
                                <li><a href="#"> подпункт 3.2.5 </a></li>
                            </ul>
                        </li>
                        <li><a href="#">подпункт 3.3</a></li>
                        <li><a href="#">подпункт 3.4</a></li>
                        <li><a href="#">подпункт 3.5</a></li>
                    </ul>
                </li>
                <!-- Пункт меню 4 -->
                <li><a href="#">Пункт 4</a>
                    <ul>
                        <li><a href="#">подпункт 4.1</a>
                            <ul>
                                <li><a href="#"> подпункт 4.1.1 </a></li>
                                <li><a href="#"> подпункт 4.1.2 </a></li>
                                <li><a href="#"> подпункт 4.1.3 </a></li>
                                <li><a href="#"> подпункт 4.1.4 </a></li>
                                <li><a href="#"> подпункт 4.1.5 </a></li>
                            </ul>
                        </li>
                        <li><a href="#">подпункт 4.2</a></li>
                        <li><a href="#">подпункт 4.3</a>
                            <ul>
                                <li><a href="#"> подпункт 4.3.1 </a></li>
                                <li><a href="#"> подпункт 4.3.2 </a></li>
                                <li><a href="#"> подпункт 4.3.3 </a></li>
                                <li><a href="#"> подпункт 4.3.4 </a></li>
                                <li><a href="#"> подпункт 4.3.5 </a></li>
                            </ul>
                        </li>
                        <li><a href="#">подпункт 4.4</a></li>
                        <li><a href="#">подпункт 4.5</a></li>
                    </ul>
                </li>
                <!-- Пункт меню 5 -->
                <li><a href="#">Пункт 5</a>
                    <ul>
                        <li><a href="#">подпункт 5.1</a>
                            <ul>
                                <li><a href="#"> подпункт 5.1.1 </a></li>
                                <li><a href="#"> подпункт 5.1.2 </a></li>
                                <li><a href="#"> подпункт 5.1.3 </a></li>
                                <li><a href="#"> подпункт 5.1.4 </a></li>
                                <li><a href="#"> подпункт 5.1.5 </a></li>
                            </ul>
                        </li>
                        <li><a href="#">подпункт 5.2</a></li>
                        <li><a href="#">подпункт 5.3</a></li>
                        <li><a href="#">подпункт 5.4</a></li>
                        <li><a href="#">подпункт 5.5</a></li>
                    </ul>
                </li>
            </ul>
        </div>

        <div class="content">
        <p><b>Sidebar Menu + JS</b></p>

        <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ducimus eum labore porro quae, recusandae sint. Ab
           ipsa numquam optio ratione voluptate? Adipisci doloribus explicabo fuga fugit magnam minus nihil porro.</p>

        <p>Amet consequatur cum dolores est laboriosam mollitia non nostrum, ratione temporibus voluptas! Accusantium,
           assumenda debitis ducimus harum incidunt libero molestiae mollitia reiciendis vel velit. Esse facere iste
           laboriosam nobis ut!</p>

        <p>Accusamus assumenda autem debitis deserunt, dolore ducimus ex harum incidunt ipsam ipsum iste iure nemo neque
           nisi obcaecati officia pariatur possimus praesentium quidem recusandae sed sequi tempore ullam vel,
           voluptas!</p>

        <p>Ad dolore dolorem eligendi fuga incidunt, ipsa, iusto non nostrum numquam obcaecati odit, officiis quam quia
           reiciendis totam vitae voluptatem. Corporis debitis eveniet explicabo ipsa magnam maiores maxime, modi
           natus!</p>

        <p>Ad asperiores culpa dolore ea esse impedit nostrum odio quasi, quidem, quis recusandae reiciendis repudiandae
           vel! A ab mollitia natus quos voluptate! Ab debitis deserunt, ea eveniet repellat similique voluptas!</p>

        <p>Ab aliquid animi debitis dolore esse explicabo fugit hic id, labore laborum magnam quae, repellendus rerum,
           sit velit? Aspernatur assumenda dolor ea facilis, fugiat maiores natus quod sunt totam vitae.</p>

        <p>Dolorum est, expedita facere illo illum libero neque, odio quia repellendus reprehenderit velit voluptate?
           Animi autem, eveniet excepturi exercitationem impedit inventore itaque, molestiae neque perspiciatis
           provident reiciendis reprehenderit repudiandae voluptatum.</p>

        <p>Amet dolore est, eum expedita minima molestias nesciunt odio quidem recusandae, reiciendis tempora ut? Ad
           asperiores delectus hic iste, minima nobis praesentium sunt tenetur? Doloribus est fuga incidunt modi
           temporibus!</p>

        <p>Ab accusantium animi consequatur, cupiditate dolorum ea ex explicabo facilis fugit laudantium libero officia
           quidem quo rem veniam. Facilis fugit nobis sed! A asperiores fugiat illum. Dicta eveniet ex optio.</p>

        <p>Alias delectus dignissimos doloremque eaque earum eligendi eos excepturi illo in ipsam labore laudantium
           magnam, maiores molestiae molestias nam nisi numquam obcaecati praesentium quasi quidem quo repudiandae
           sapiente similique soluta?</p>

        <p>Accusantium aliquid, aperiam cumque dignissimos doloremque dolores ducimus eius eveniet expedita fuga
           incidunt magni maiores molestiae nam natus nemo neque non quisquam quo saepe sapiente soluta vel veniam
           veritatis voluptate.</p>

        <p>Accusamus cum illo ipsum laboriosam pariatur quae similique ullam unde. A aliquid asperiores aspernatur
           commodi culpa dolor, doloribus ea, earum exercitationem explicabo hic iure iusto maiores quas qui quis
           voluptatibus?</p>

        <p>Consectetur ea enim error facilis iure officia repudiandae sit! Ab asperiores aspernatur cupiditate deleniti
           distinctio doloribus eaque eos, excepturi illum impedit nemo nesciunt quam quasi qui quis repellat
           reprehenderit sequi.</p>

        <p>Cum, expedita, quia. Consequatur facilis harum illo laboriosam maiores officiis placeat praesentium quae quas
           vel! Accusantium aspernatur, aut enim expedita fuga incidunt quibusdam vero. Dicta facilis natus nobis quod
           suscipit.</p>

        <p>Eaque enim magni sapiente? A ab adipisci, aspernatur, assumenda commodi consectetur consequatur, dolorem
           dolorum ea eius eos esse laborum nisi officiis praesentium quaerat quas qui recusandae tenetur vero voluptas
           voluptates!</p>

        <p>Accusantium atque blanditiis consectetur deserunt fuga fugiat harum id, in ipsum iste magni modi nemo
           nesciunt nisi officiis possimus, quisquam reprehenderit, repudiandae sed similique tempora unde velit
           voluptates? Mollitia, numquam?</p>

        <p>Amet excepturi harum nemo sed. In, itaque, repudiandae. Quaerat, quod, temporibus! Adipisci dignissimos
           doloremque eaque eum odit, officiis recusandae saepe sapiente unde velit. Ducimus eius error fugiat, maiores
           quibusdam quis!</p>

        <p>At ex labore laboriosam magni recusandae voluptas? Minima nesciunt sunt voluptatum? Ad aut commodi
           consectetur consequuntur cumque doloremque ducimus, in iste laboriosam laudantium placeat, sed sint sit,
           soluta voluptates voluptatibus.</p>

        <p>Accusantium asperiores beatae cupiditate dicta doloremque eaque earum excepturi facere facilis hic labore,
           laboriosam laborum magnam molestias mollitia natus necessitatibus nulla odit quam quibusdam quod ratione
           reprehenderit sed veniam voluptas?</p>

        <p>A dignissimos explicabo in numquam obcaecati optio reiciendis rem sapiente suscipit voluptate. Earum et fuga
           iste itaque, maxime non placeat qui quibusdam quo vitae. Consequuntur deserunt necessitatibus nulla quos
           voluptate!</p>
    </div>
    </div>
            
          
!
            
              .wrapper {
    margin: 0 auto;
    width: 600px;

    position: relative; /* для ширины */
}

/* NEW */
.sidebar {
    width: 30%;
    position: absolute;
}

.content {
    width: 70%;
    margin-left: 30%;
}
/*/////////////////////////////////////////////////////////*/

.sidebar ul{ /* сбрасываем поля и отступы у списков */
    list-style: none;
    padding: 0;
    margin: 0;

    white-space: nowrap; /* Для того чтобы элементы были написаны в 1 строку */
}

.sidebar > ul > li { /* 1 level */
    background: #fffa6e;
}
.sidebar > ul ul > li { /* 2 level */
    background: #f2ffe8;
}
.sidebar > ul ul ul > li { /* 3 level */
    background: #0299d3;
}
.sidebar > ul ul ul ul > li { /* 4 level */
    background: #54d36b;
}
.sidebar > ul ul ul ul ul > li { /* 5 level */
    background: #d38674;
}

/*///////////////////////////////////////*/
.sidebar > ul > li { /* 1 уровень */
    /*float: left;*/ /* CHANGED теперь не надо делать меню 1-го уровня в одну линию */
    border: 1px solid #222;
}

.sidebar > ul li ul { /* Прячем все меню ниже 1 уровня */
    display: none;
    position: absolute;
}

/* Если без JS, то раскомментировать */
/*.sidebar > ul li:hover > ul { /!* Показываем все меню при наведении на родительский li, которые находятся ниже 1 уровня*!/*/
    /*display: block;*/
/*}*/

.sidebar ul li {
    position: relative; /* Для того чтобы top:0 для меню >=2 уровня выравнивал по li, а не по ul */
}

.sidebar > ul ul { /* Начиная с 2-го уровня размещать списки справа от родительского li */
    top: 0;
    left: 100%;
}
/*///////////////////////////////////////*/

.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}

.clearfix:after {
    clear: both;
}
            
          
!
            
              $(function() {
    $('.sidebar ul li').hover(
        /* Функция исполняется, когда мышь входит в область меню */
        function mouseOver() {
            clearTimeout($.data(this, 'timer')); /* если мы успели вернуться мышкой на меню, до того как прошла задержка на закрытие, то таймер обнуляется и сворачивание меню не произойдет*/
            /* если использовать stop(true, FALSE), то скачка на конец анимации не будет (false стоит по умолчанию) */
            $(this).find('> ul').stop(true).slideDown(1000); /* анимация разворачивания меню */
        },

        /* Функция исполняется, когда мышь покидает область меню */
        function mouseOut() {
            var $this = $(this); /* запоминаем окружение, т.к. в Таймере мы до него не достучимся*/
            $.data(this, 'timer', setTimeout( /* Устанавливаем таймер, чтобы закрытие меню не начиналось сразу после того как мышь покинет li */
                    function () {
                        $this.find('> ul').stop(true).slideUp(1000); /* анимация сворачивания меню */
                    },
                    200) /* задержка закрытия меню */
            );
        });
});
            
          
!
999px
Close

Asset uploading is a PRO feature.

As a PRO member, you can drag-and-drop upload files here to use as resources. Images, Libraries, JSON data... anything you want. You can even edit them anytime, like any other code on CodePen.

Go PRO

Loading ..................

Console