Горизонтальное раскрывающееся меню с кнопкой.

Здравствуйте, мои постоянные читатели и гости блога. Очередная шпаргалка пойдёт сегодня в категорию меню. Рассмотрим, как сделать кнопку горизонтального раскрывающегося меню. В закрытом виде это будет просто красиво оформленная кнопка,
при нажатии на которую, выскальзывают все пункты меню.

Как это работает можно посмотреть на демо-блоге сразу под заголовком. В статье красивое анимированное меню для ярлыков был рассмотрен подобный вариант. Там вкладки выпадали по вертикали. Ну а сегодня развернём их в строку по горизонтали.

Сделать всё достаточно просто. Код устанавливается в гаджет HTML/JavaScript. Для начала вам нужно скопировать его в блокнот, чтобы установить свои адреса страниц, которые будут отображаться в меню. В принципе, таким образом можно вывести не только пункты меню. Какие-то отдельные страницы, на которые хотите обратить внимание читателей. Или же вставить адреса своих страниц в социальных сетях.

Код.
<style>

body {
 -webkit-animation: bugfix infinite 1s;
}

@-webkit-keyframes bugfix {
 from {padding:0;}
 to {padding:0;}
}

.iconicmenu {
    position: relative;
    height: 45px;
    overflow: hidden;
    }

.iconicmenu, .iconicmenu * {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    }

.iconicmenu input[type="checkbox"] {
    position: absolute;
    left: 0;
    top: 0;
    opacity: 0;
    }

.iconicmenu > label {
    z-index: 1000;
    display: block;
    position: absolute;
    width: 40px;
    height: 40px;
    float: left;
    top: 0;
    left: 0;
    background: white;
    text-indent: -1000000px;
    border: 6px solid black;
    border-width: 6px 0;
    cursor: pointer;
    -moz-transition: all 0.3s ease-in;
    -webkit-transition: all 0.3s ease-in;
    transition: all 0.3s ease-in;
    }

.iconicmenu > label::after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 18%;
    top: 19%;
    left: 0;
    border: 6px solid black;
    border-width: 6px 0;
    -moz-transition: all 0.3s ease-in;
    -webkit-transition: all 0.3s ease-in;
    transition: all 0.3s ease-in;
    }

.iconicmenu ul {
    margin: 0;
    padding: 0;
    position: absolute;
    margin-left: 40px;
    background: #eee;
    left: -100%;
    height: 40px;
    font: bold 14px Verdana;
    text-align: center;
    list-style: none;
    opacity: 0;
    -moz-border-radius: 0 5px 5px 0;
    -webkit-border-radius: 0 5px 5px 0;
    border-radius: 0 5px 5px 0;
    -moz-perspective: 10000px;
    perspective: 10000px;
    -moz-transition: all 0.5s ease-in;
    -webkit-transition: all 0.5s ease-in;
    transition: all 0.5s ease-in;
    }

.iconicmenu li {
    display: inline;
    margin: 0;
    padding: 0;
    }

.iconicmenu ul label {
    cursor: pointer;
    position: relative;
    height: 100%;
    text-align: center;
    }

.iconicmenu ul label::after {
    content: "x";
    display: inline-block;
    line-height: 14px;
    color: white;
    -moz-border-radius: 50px;
    -webkit-border-radius: 50px;
    border-radius: 50px;
    width: 20px;
    height: 20px;
    background: black;
    font-size: 18px;
    margin: 5px;
    margin-top: 10px;
    -moz-transition: all 0.3s ease-in;
    -webkit-transition: all 0.3s ease-in;
    transition: all 0.3s ease-in;
    }

.iconicmenu input[type="checkbox"]:checked ~ label, .iconicmenu ul label:hover::after {
    -moz-transform: rotatey(180deg);
    -ms-transform: rotatey(180deg);
    -webkit-transform: rotatey(180deg);
    transform: rotatey(180deg);
    }

.iconicmenu > label:hover, .iconicmenu > label:hover::after, .iconicmenu input[type="checkbox"]:checked ~ label, .iconicmenu input[type="checkbox"]:checked ~ label::after {
    border-color: darkred;
    }

.iconicmenu input[type="checkbox"]:checked ~ ul {
    left: 8px;
    opacity: 1;
    -moz-box-shadow: 1px 1px 5px gray;
    -webkit-box-shadow: 1px 1px 5px gray;
    box-shadow: 1px 1px 5px gray;
    }

.iconicmenu li a {
    display: block;
    float: left;
    text-align: center;
    text-decoration: none;
    color: black;
    margin: 0;
    padding: 10px;
    padding-right: 15px;
    height: 100%;
    }

.iconicmenu li a:hover {
    background: black;
    color: white;
    }



@media screen and (max-width: 580px) {
    .iconicmenu input[type="checkbox"]:checked ~ label {
        display: none;
        }
    .iconicmenu input[type="checkbox"]:checked ~ ul {
        margin-left: 0;
        }
    }
@media screen and (max-width: 560px) { /* Convert horizontal menu to vertical drop down instead (friendly across all screen sizes) */
    .iconicmenu {
        overflow: visible;
        }
    .iconicmenu ul {
        height: auto;
        }

    .iconicmenu ul li {
        min-width: 200px;;
        display: block;
        }
    .iconicmenu ul li a {
        float: none;;
        text-align: left;
        }
    }


</style>
<div class="iconicmenu">
<input type="checkbox" id="togglebox" />
<ul>
<li><a href=" адрес страницы ">название страницы</a></li>
<li><a href="адрес страницы ">название страницы </a></li>
<li><a href="адрес страницы ">название страницы </a></li>
<li><a href="адрес страницы ">название страницы</a></li>
<li><a href="адрес страницы "> название страницы</a></li>

</ul>
<label class="toggler" for="togglebox">Меню</label>
</div>


Как всегда, если следует добавить пункты, то прописывайте ещё строку такого вида.

<li><a href="адрес страницы "> название страницы</a></li>

В строках синего цвета пишите адреса своих страниц и, где отмечено красным - название. 
После того, как код установлен, гаджет нужно переместить над сообщениями блога. Такую кнопку раскрывающегося горизонтального меню можно установить и в подвале блога.  Иногда даже рекомендуется для более удобной навигации по блогу сделать меню и вверху и внизу.

И сегодня у меня всё. Благодарю вас за внимание и до новых встреч. 
здесь можно оформить подписку на новые шпаргалки

Введите Ваш email


22 комментария:

  1. Ой, Викусь!!!! Спасибо тебе большое! Давно мечтала сделать что - то подобное.
    Горизонтальное содержание сделала как у тебя. Только чуть изменила цвет и добавила текстовую строку( активировать квадрат со стрелочкой) А то вдруг люди не поймут, что за квадрат. И вертикальное анимированное тоже сделала, только назвала"рубрики блога: мини меню" со ссылкой на стр содержание. Пришлось немного подогнать его по размерам и цветам.Повозилась, пока подогнала. Но мне нравится. А ты что скажешь? Посмотри пожалуйста, СПАСИБО!!!!!http://bibliomir83.blogspot.ru/

    ОтветитьУдалить
    Ответы
    1. Ирина, сколько лет сколько зим. побродила у тебя по блогу. Слушай, так изменился. В шапке твоя фотка вообще супер. А ты мне говорила-ничего мол не понимаю, вникать даже не хочу. менюшки подредактировала, поставила - интересно стало. скоро сама верстать начнёшь. спасибо, Ириш за визит. Тебе терпения и удачи. сейчас у вас наверное жаркие денёчки на работе.

      Удалить
  2. ну а как не вникать, если у тебя столько всего классного!!!!Пока еще не очень жаркие. Жара будет в конце мая! У меня другие погодные делишки: почти месяц в больнице провалялась, дел куча накопилась. Невестка вышла на работу, с внуков сижу( утром садик, вечером - с ним дома. Ей поставили день-ночь смены пока! Так что времени ни на что не хватает! Но вот твоими прелестями блоговедческими увлеклась сегодня на работе.тут не сложно вникать- всё в принципе легко. А вот глубже- уже надо время, а у меня его нет. Так что пока по вершкам и где легче- ....:))Подписалась на твои обновления. Столько всего интересного.! Спасибо за оценку блога. :) И за интересные штучки!!:))

    ОтветитьУдалить
  3. Единственное, что мне не нравиться так это то, что у меня есть большое расстояние между шапкой и 2 менюшками( где содержание и твой квадрат раскрывающий)Можно ли это расстояние (между шапкой и менюшками, и самим блоком сообщений) уменьшить? Чтобы все шло подряд, без промежутков?

    ОтветитьУдалить
  4. Да, Ирина, с детьми хлопот не в проворот. Ну и к вопросам твоим. Начну с квадрата . так как он установлен в гаджете так и получается что название ты ему дала и расстояние между названием и самим квадратом ни как не исправить. Можно либо не писать его вообще , либо убрать заголовок -тут почитай.http://www.shpargalochki.ru/2014/06/ubrat-zagolovok-gadzheta.html Между всеми гаджетами можно как написано в этой статье http://www.shpargalochki.ru/2014/11/umenshit-rasstojanie-mezhdu-gadzhetami.html.
    Как уменьшить отступ под заголовком написала тебе на почту.

    ОтветитьУдалить
    Ответы
    1. Спасибо! ой, там надо лезть в шаблон... еще не готова к этому.:))) Но закладочку сделаю-потом попробую:))

      Удалить
    2. Ирина, тебе уже давно надо сделать тестовый блог по образу и подобию твоего и на нём тренироваться. А иначе как.

      Удалить
  5. Жду свое горизонтальное меню, которое под этим.;) Смотрю, в нем эффекты добавились.

    ОтветитьУдалить
    Ответы
    1. Олеся, ты имеешь ввиду с эффектом зумма.

      Удалить
    2. С красными кружками при наведении.

      Удалить
    3. Понятно, Я чес. слово просто только сейчас вспомнила что обещала тебе. Скоро опубликую обязательно.

      Удалить
    4. Спасибо, Вика, и если можно серенькое.) Шучу, укажи пжл в каком месте можно изменить шрифт и цвет, ширину-длину самого меню.

      Удалить
    5. Ладно, Олеся. Учту твои пожелания, когда опубликую. Скорее всего в начале следующей недели.

      Удалить
  6. Вика, добрый день. Вот и мне понравились в меню "круги" при наведении. Спасибо за всякие "полезности" для блога

    ОтветитьУдалить
    Ответы
    1. Любовь, где-то во вторник пост опубликую, вот за что люблю своих ПЧ, так за их внимательность. Обязательно поделюсь. Вам спасибо.

      Удалить
  7. Вика, хотел спросить. В блогах домен сменился? Стало co.ke. могли бы Вы по этому поводу пост сделать?

    ОтветитьУдалить
    Ответы
    1. Семён, я не пойму о чём Вы. Нормальный у вас домен http://novicesurvivalist.blogspot.ru/
      Доменная зона .CO.KE предназначена и используется для многих веб сайтов Кении. Регистрация домена .CO бывает выгодна ещё и потому, что в этой зоне имеется множество свободных имен.

      Удалить
    2. странно. захожу к себе, к другим - почему-то у меня в браузере вместо blogspot.ru в конце, отображается blogspot.co.ke

      Удалить
    3. Семён, спросите у ребят в сообществе всё о SEO они продвинутые в этом деле. https://plus.google.com/u/0/communities/109115714197902479439
      или в сообществе Я блоггер https://plus.google.com/u/0/communities/103703740562415485438

      Удалить
    4. Спасибо, попробую уточнить там.

      Удалить
    5. Семён, отпишитесь потом, пожалуйста.

      Удалить

Пользовательский поиск