аватар Автор: Сергей Касаткин | 08 апреля 2013 14:20

Статьи / CSS /

Анимированная выдвижная боковая блок-панель на CSS


Пример работы боковой панели на CSS можно просмотреть по ссылке ниже.

Демонстрация Скачать исходники

Наверное Вы часто видели панельки справа или слева с акцией, консультацией и чем-либо другим. Так давайте рассмотри как реализовать такой анимированный блок только на CSS 3, без применения JS

Вставляем следующие блоки в код

Код HTML

<div id="panel"> >>>
    <div id="hidden_panel">
        Содержание блока
    </div>
</div>


Код CSS

/* ВНЕШНИЙ БЛОК */
#panel {
    position: fixed; /* положение */
    top: 100px; /* отступ сверху */
    left: 0; /* отступ слева */
    background: green; /* цвет фона */
    width: 30px; /* ширина блока */
    height: 40px; /* высота блока */
    font: 14px Arial; /* размер и тип шрифта */
    color: #fff; /* цвет текста */
    text-align: center; /* выравнивание текста по центру */
    padding: 5px; /* отступы от границ внутри блока */

    -webkit-transition-duration: 0.3s; /* анимационное выдвижение для всех браузеров*/
    -moz-transition-duration: 0.3s;
    -o-transition-duration: 0.3s;
    transition-duration: 0.3s;

    -webkit-border-radius: 0 5px 5px 0; /* закругление границ для всех браузеров*/
    -moz-border-radius: 0 5px 5px 0;
    border-radius: 0 5px 5px 0;
    }

/* СКРЫТЫЙ БЛОК */
#hidden_panel {
    position: fixed; /* положение */
    top: 100px; /* отступ сверху */
    left: -220px; /* отступ слева */
    background: lavender; /* цвет фона */
    color: #000; /* цвет текста */
    width: 200px; /* ширина блока */
    height: 150px; /* высота блока */
    padding: 10px; /* отступы от границ внутри блока */
    text-align: left; /* выравнивание текста */

    -webkit-transition-duration: 0.3s; /* анимационное выдвижение для всех браузеров*/
    -moz-transition-duration: 0.3s;
    -o-transition-duration: 0.3s;
    transition-duration: 0.3s;

    -webkit-border-radius: 0 5px 5px 0; /* закругление границ для всех браузеров*/
    -moz-border-radius: 0 5px 5px 0;
    border-radius: 0 5px 5px 0;
    }
#panel:hover {
    left: 220px; /* при наведении выдвигается на скрытые 200px + 20px отступы */
}
#panel:hover #hidden_panel {
    left: 0; /* отступ слева */
}
 



Похожие статьи


Комментарии к статье (vk.com)