Автор

13 06.2014
Простое красивое выпадающее меню на CSS3

Простое красивое выпадающее меню на CSS3


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

 

ДЕМО
ИСХОДНИКИ

 

Меню профиля достаточно простое и его можно расширить как с выпадающим меню так и в ширину, это легко делается и не доставляет особых трудностей. И так, давайте приступим.

Шаг 1. HTML

У нас есть контейнер с навигацией, в нем мы будем постепенно выстраивать иерархию меню, по очередности, для начала мы добавим иконку профиля, затем значек меню, а затем организацию подменю:

<nav>
 <ul>
 <li class="drop">
 <div class="user-avatar">
 <img src="ste.png" />
 </div>
 <a href="#">Stefano</a>
 <span aria-hidden="true" class="icon-reorder orange-txt"></span>
 <div class="triangle"></div>
 <div class="dropdownContain">
 <div class="dropOut">
 <ul>
 <li><span aria-hidden="true" class="icon-envelope-alt"></span>Сообщение</li>
 <li><span aria-hidden="true" class="icon-user"></span>Мой профиль</li>
 <li><span aria-hidden="true" class="icon-cog"></span> Настройки</li>
 <li><span aria-hidden="true" class="icon-off"></span> Выход</li>
 </ul>
 </div>
 </div>
 </li>
 </ul>
</nav>

Для каждого подпункта у нас будет своя иконка, для этого мы используем класс с соответствующим стилем. Давайте перейдем к следующему шагу.

Шаг 2. CSS

Нам необходимо установить абсолютное позиционирование для навигации, кроме этого установим окантовку, несколько теней, края меню будут немного закруглены, для этого устанавливаем закругление, также присваиваем плавную анимацию:

nav {
 width:13em;
 margin:2em auto;
 background:#f6f6f6;
 @include border-radius(.4em, .4em);
 box-shadow: 0 0 4px rgba(0,0,0,.15);
}
.user-avatar img{
 @include border-radius(4em,4em);
 float:left;
 margin-left:.618em;
 margin-top:.2em
}
.icon-reorder{
 padding:.8em 1em;
 color:white;
 border-radius:0 .4em .4em 0;
 float:right
}
.drop {
 position: relative;
 font-size: 1em;
 cursor: pointer;
a {
 font-weight: 400;
 line-height: 2.5em;
 padding: 0 1em;
 color: lighten(black,30%);
 text-decoration:none;
 }
}
.triangle {
 width: 0;
 height: 0;
 position: absolute;
 border-left: .4em solid transparent;
 border-right: .4em solid transparent;
 border-top: .4em solid #FFB135;
 left: 89.5%;
 margin-left: -.4em;
 opacity:0
}
.dropdownContain {
 width: 13em;
 position: absolute;
 z-index: 2;
 left: 50%;
 margin-left: -6.5em; /* half of width */
 top: -300px;
}
.dropOut {
 width: 13em;
 background:#f6f6f6;
 float: left;
 position: relative;
 margin-top: 0;
 opacity: 0;
 @include border-radius(.4em, .4em);
 box-shadow: 0 0 4px rgba(0,0,0,.15);
 border:1px solid rgba(white, .75) ;
 overflow:hidden;
 -webkit-transition: all 0.1s ease-out;
 -moz-transition: all 0.1s ease-out;
 -ms-transition: all 0.1s ease-out;
 -o-transition: all 0.1s ease-out;
 transition: all 0.1s ease-out;
ul {
 padding: .3em 0;
 margin:0
 }
}
.dropOut li {
 text-align: left;
 width: 100%;
 padding: .6em 0 ;
 color: darken(#fff, 50%);
 border-left:3px solid #f7f7f7;
-webkit-transition: all 0.1s ease-out;
 -moz-transition: all 0.1s ease-out;
 -ms-transition: all 0.1s ease-out;
 -o-transition: all 0.1s ease-out;
 transition: all 0.1s ease-out;
 span{
 color: darken(#fff, 20%);
 margin: 0 1.5em 0 .8em;
}
 &:hover{
 border-color: lighten(#FFB135,10%);
 color: darken(#fff, 70%);
 background: darken(#f7f7f7,4%);
 span{
 color:darken(#fff, 50%)
 }
 }
}
ul li:hover .triangle { opacity: 1 }
ul li:hover .dropdownContain { top: 30px; }
ul li:hover .dropOut { opacity: 1; margin-top:20px;}
.orange-txt {
 background-color: #ffc15e;
 background-image: -o-linear-gradient(bottom, #ffb135 0%, #ffc15e 100%);
 background-image: -moz-linear-gradient(bottom, #ffb135 0%, #ffc15e 100%);
 background-image: -webkit-linear-gradient(bottom, #ffb135 0%, #ffc15e 100%);
 background-image: -ms-linear-gradient(bottom, #ffb135 0%, #ffc15e 100%);
 background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0%, #ffb135), color-stop(100%, #ffc15e));
 background-image: linear, bottom, #ffb135 0%, #ffc15e 100%;
&:hover {
 background: #ffb135;
}
}

Вот и все. Готово!

Материал взят из зарубежного источника. И представлен исключительно в ознакомительных целях.


vk.com/club.ssdru

Подписывайтесь на нашу группу в контакте vk.com/club.ssdru


Статьи по темеCSS3

29 05.2017
Простое красивое выпадающее меню на CSS3

Библиотека анимационных эффектов перехода, основанная на анимации CSS.


08 12.2014
Простое красивое выпадающее меню на CSS3

Вот и наступила зима, выпал первый снег, и по настоящему чувствуется что скоро наступит новый год, ведь новогоднее настроение уже парит в воздухе. Люди во всю наряжают елки, а веб-мастера стараются украсить свой сайт новогодними украшениями. В данном уроке мы рассмотрим как создать простой эффект снега для сайта при этом мы будем использовать правила JS и немного новогодней магии. У нас будет рондомное падение снега, при этом мы добавим плавности, кроме этого мы добавили эффект глубины с помощью больших и меньших окружностей снежинок.


12 03.2013
Простое красивое выпадающее меню на CSS3

Вопрос: почему мало создать сайт и разместить его адрес на POS-материалах?

Я создал сайт, потратил кучу денег на его «раскрутку», разместив везде его адрес. Почему же я до сих пор беден?!

Больной вопрос, который задают многие клиенты. Самое смешное, что они действительно искренне недоумевают, почему же столь успешный (в задумке) проект до сих пор не начинает работать. И главное, что этот клиент не из тех, кто любит строить воздушные замки и воплощать в жизнь свои самые смелые фантазии, а самый, что ни на есть трудоголик, который даже во сне посредством и благодаря своей неутомимости в работе и преданности делу способен вывести свою алхимическую «формулу бизнес-счастья и commerce-изобилия». Итак, возьмем на себя смелость и проведем небольшую работу по «препарированию» (простите за черный юмор) данной проблемы.


01 05.2013
Простое красивое выпадающее меню на CSS3

Если вы ищете, как создать активную диаграмму (или схемы) с информацией - эта новая статья для вас. Я просматривал в Интернете, и нашел одно хорошее и серьезное решение, - Highcharts библиотека. Это чистая javascript библиотека, которая предлагает интерактивные и интуитивно понятные графики. Эта библиотека поддерживает различные возможные графики: площадь, линии, сплайн, areaspline, пирог, колонны и другие. Я думаю, что это лучший способ, чтобы получить информацию для зрителей. Сегодня в демо я подготовил несколько примеров с разными графиками.


105 Публикаций

Раскрутка в соцсетях

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


Перейти в Блог

О КОМПАНИИ

Studio Design существует с 2001 года. Основной нашей деятельностью до 2007 года было видеопроизводство ( видеореклама и документальные фильмы, о чем подробно описано в нашем блоге ). С 2007 года, вот уже как лет, наша основная специфика - это создание сайтов для бизнеса или частной деятельности, веб дизайн, а также поддержка и администрирование готовых проектов. Каждая выполненная нами работа - это уникальный, а самое главное, адаптивный под все современные мобильные устройства дизайн сайта. Мы готовы создать сайт с нуля для каждого клиента с любого уголка России! Мы поможем Вам в создании, как одностраничных сайтов – визиток, так и крупных интернет магазинов или корпоративных сайтов. А все наши работы, большинство из которых действуют и по сей день!

Close

Целовальников Сергей


Веб-дизайн, HTML5, CSS3, jQuery, JavaScript, Верстка.

Верстальщик с большим опытом работы. Занимаюсь созданием сайтов с 2005 года. Постоянно обучаюсь и совершенствую свои навыки. Веду свои проекты, в том числе и данный блог.

Close