Автор

Создаем меню с длинными тенями с помощью CSS

Создаем меню с длинными тенями с помощью CSS


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

 

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

 

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

Шаг 1. HTML

У нас будет главный класс, который называется mm-menu, он будет обверткой для нашей навигации, в него мы поместим пять блоков навигации, стилизованы классом кнопки и прикрученной тенями.

<div class="mm-menu">
<a href="javascript:;" class="mm-item"><span class="fontawesome-home"></span></a>
<a href="javascript:;" class="mm-item"><span class="fontawesome-comment"></span></a>
<a href="javascript:;" class="mm-item"><span class="fontawesome-th"></span></a>
<a href="javascript:;" class="mm-item"><span class="fontawesome-camera"></span></a>
<a href="javascript:;" class="mm-item"><span class="fontawesome-cog"></span></a>
</div>

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

Шаг 2. CSS

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

.mm-menu {
font-size: 1rem;
position: relative;
width: $mm-menu-width; height: $mm-item-size;
border-radius: 0.15em;
background: $slate;
box-shadow:
0 -1px 0.3em rgba(#002,.2) inset,
0 -1px 1px rgba(#002,.03) inset;
margin: ($mm-item-size / -2) auto 0;
top: 50%;
}
.mm-item > [class*="fontawesome-"]::before {
display: block;
font-family: 'FontAwesome';
font-size: 2em;
text-align: center; line-height: $mm-item-size / 2;
color: $icon;
text-shadow:
0 -0.03em rgba(#000,.21),
0 0.03em 0.06em rgba(#fff,.5);
}
.mm-item {
@include box-sizing(border-box);
display: block; position: relative;
top: -0.25em; float: left;
width: $mm-item-size; height: $mm-item-size;
text-decoration: none;
border-radius: 0.15em;
transition: 250ms;
background: linear-gradient($white,$gray) 0 50%;
background-size: 100% 200%;
}
.mm-item:hover {
top: -0.35em;
background-position: 0 0%;
}
.mm-item:focus,
.mm-item:active {
outline: none;
top: -0.15em;
background-position: 0 100%;
}
.mm-item,
.mm-item:first-of-type:focus,
.mm-item:first-of-type:active,
.mm-item:hover:focus + .mm-item,
.mm-item:hover:active + .mm-item {
box-shadow:
1px 1px 0 0 rgba(#fff,.15) inset,
0 0 0 0 rgba(#000,0) inset,
0.2em 0.2em 0.3em -0.07em rgba(#fff,.6) inset,
-0.2em -0.3em 0.3em -0.07em rgba(#000,.08) inset;
}
.mm-item:hover + .mm-item,
.mm-item:focus,
.mm-item:active {
box-shadow:
0 0.3em 0.3em -0.2em rgba(#fff,.6) inset,
1px 0 0 0 rgba(#000,.02) inset,
0.35em 0 0.3em -0.2em rgba(#002,.07) inset,
-0.2em -0.3em 0.3em -0.07em rgba(#000,.08) inset;
}
.mm-item:hover + .mm-item:focus {
box-shadow:
0 0.3em 0.3em -0.2em rgba(#fff,.6) inset,
1px 0 0 0 rgba(#000,.01) inset,
0.45em 0 0.3em -0.2em rgba(#002,.09) inset,
-0.2em -0.3em 0.3em -0.07em rgba(#000,.08) inset;
}
.mm-item::after,
.mm-item:last-of-type::before {
display: block; content:'';
position: absolute; z-index: -1;
transition: 250ms;
@include rotate(-25deg);
}
.mm-item::after {
top: $mm-item-size + 0.2em; left: 0;
width: 90.8%; height: 110%;
background: linear-gradient(205deg,rgba(#002,.3),rgba(#fff,0));
-webkit-transform-origin: 0 0;
transform-origin: 0 0;
}
.mm-item:hover::after {
top: $mm-item-size + 0.3em;
height: 125%;
}
.mm-item:focus::after,
.mm-item:active::after {
top: $mm-item-size + 0.1em;
height: 95%;
}
.mm-item:last-of-type::before {
top: 1px; right: 0;
width: 42.4%; height: 160%;
background: linear-gradient(115deg,rgba(#002,.3),rgba(#fff,0));
-webkit-transform-origin: 100% 0;
transform-origin: 100% 0;
}
.mm-item:last-of-type:hover::before {
width: 44.4%; height: 180%;
}
.mm-item:last-of-type:focus::before,
.mm-item:last-of-type:active::before {
width: 41.4%; height: 140%;
}
@media screen and (-webkit-min-device-pixel-ratio:0) {
.mm-item::after { width:91% }
}
@media only screen and (height: 300px) {
.mm-menu { font-size:1.5rem }
.mm-item:nth-of-type(1) {
top: -0.35em;
background-position: 0 0%;
&::after { top:$mm-item-size + 0.3em }
}
.mm-item:nth-of-type(2) {
box-shadow:
0 0.2em 0.3em -2px rgba(#fff,.6) inset,
-1px -1px 0 0 rgba(#000,.03) inset,
0.3em 0 0.2em -2px rgba(#000,.05) inset,
-0.2em -0.2em 0.3em -2px rgba(#000,.08) inset;
}
.mm-item:nth-of-type(3) {
top: -0.15em;
background-position: 0 100%;
box-shadow:
0 0.2em 0.3em -2px rgba(#fff,.6) inset,
-1px -1px 0 0 rgba(#000,.03) inset,
0.3em 0 0.2em -2px rgba(#000,.05) inset,
-0.2em -0.2em 0.3em -2px rgba(#000,.08) inset;
&::after { top:$mm-item-size + 0.1em }
}
.mm-item:last-of-type::before { width:43.4% }
}

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

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

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

Многие материалы на сайте взяты из блогов: "Все для веб-дизайнера Rudebox", "A free library of HTML, CSS, JS nuggets Codyhouse" - полностью переведен и представлен в ознакомительных целях!

vk.com/club.ssdru

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



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

Создаем меню с длинными тенями с помощью CSS

Представление мини-библиотеки экспериментальных эффектов прокрутки страницы.


Создаем меню с длинными тенями с помощью CSS

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


Создаем меню с длинными тенями с помощью CSS

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


Создаем меню с длинными тенями с помощью CSS

Если на вашем сайте пользователи имеют много возможностей, то скорее всего, что такой проект нуждается в создании раздела часто задаваемых вопросов с информацией для поддержки ваших пользователей, кроме контактной формы. Мы собрали простой в настройке шаблон частых вопросов, который можно использовать, чтобы построить свою справку по сайту с удобной навигацией. Благодаря отзывчивому интерфейсу и реализации с помощью CSS и JQuery мы получаем кроссбраузерный раздел, с поддержкой устройств где выключен JS.


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

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


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

Надёжный хостинг

С нами хостинг удобен и прост, как диван у вас дома. Вы с комфортом размещаетесь, а все внутренние пружины мы берем на себя.

Бесплатный тестовый период, ежедневные бэкапы, неограниченный трафик, акции с бонусами... Конечно, у нас все это есть.


Перейти на хостинг

О КОМПАНИИ

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

Close

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


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

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

Close