Уроки веб-дизайну. Як зробити навігаційне меню в модному flat-стилі

Меню, що випадає - це зручно, але сьогодні воно вже не актуальне. Ми писали про деякі альтернативи такому виду навігації, а сьогодні навчимося робити ще щось стильне і цікаве: меню з химерними ефектами при наведенні.

Виконано воно буде в плоскому стилі. Це тренд, який тримається на піку вже кілька років. Візьмемо чисті яскраві кольори і прості іконки.

Будемо використовувати різні прийоми CSS, так що розібратися в створенні меню зможе навіть початківець дизайнер.

Кваліфікаційні вимоги знання HTML і CSS.

концепція меню

Ось так буде виглядати наше меню:

 


У ньому використані іконки з набору Linecons і шрифт Google Webfonts - Dosis. Плоскому стилю відповідають чисті кольори і прості квадратні кнопки.

Принцип роботи меню простий - коли ви наводите мишку на кнопку, збоку праворуч з`являється напис того ж кольору, якого сама кнопка (батьківський блок).


Як виглядає кінцевий результат 



Крок 1. HTML

Перш ніж почати роботу з будь-яким стилем, необхідно побудувати конструкцію в HTML. Елементи HTML5, такі як

(Задає навігацію по сайту- в нього поміщають пріоритетні посилання), підтримуються в навіть через IE, за допомогою плагінів, таких як html5shiv.

Flat Nav

               

                              

                                              

                                                              

                                                                              Home

                                                              

                                              

                                              

                                                              

                                                                              About

                                                              

                                              

                                              

                                                              

                                                                              Portfolio

                                                              

                                              

                                              

                                                              

                                                                              Contact

                                                              

                                              

                                              

                              

               

Відео: Створюємо Landing page в стилі Flat design Навчання веб дизайну Урок 2


Як бачите, файл має звичайну структуру HTML-документа. Шрифт DOSIS налаштований за допомогою Google Web Fonts, додається його таблиця стилів. Фактична структура меню навігації укладена в навігаційний тег

, всередині якого - типовий невпорядкований список. Кожен елемент списку містить посилання. Щоб встановити свій стиль для кожного посилання, ми уклали її назву в тег.

Крок 2. CSS

Прописуємо стилі для списку всередині елемента навігації

.

nav ul {

                list-style: none; overflow: hidden- position: relative;

}

                nav ul li {

                               float: left; margin: 0 20px 0 0;

                }


Стиль меню починається зі зміни зовнішнього вигляду маркованого списку шляхом видалення точок (list-style: none) І установки кожного пліч-о-пліч.

Виходить ось така картина:



nav ul li a {

                display: block- width: 120px; height: 120px;

                background-image: url (icons.jpg) - background-repeat: no-repeat;

}

                nav ul li: nth-child (1) a {

                               background-color: # 5bb2fc;

                               background-position: 28px 28px;

                }

                nav ul li: nth-child (2) a {

                               background-color: # 58ebd3;

                               background-position: 28px -96px;

                }

                nav ul li: nth-child (3) a {

                               background-color: # ffa659;

                               background-position: 28px -222px;

                }

                nav ul li: nth-child (4) a {

                               background-color: # ff7a85;

                               background-position: 28px -342px;

                }


Тепер кожен анкор всередині списку стилізуємо під квадрат зі стороною 120 пікс ... Перетворимо його з сатиричного в блоковий елемент за допомогою властивості display зі значенням block. Всі ікони були експортовані з Photoshop в одному спрайт, тому файл icons.jpg додається в якості фонового зображення для всіх анкоров, з використанням універсального селектора - nav ul li a.

Будь унікальний стиль для кожного окремого анкора потім додається за допомогою селектора nth-child,  із зазначенням номера, для кожного окремого, грунтуючись на їх порядку. Так нам не потрібно додавати окремі класи в HTML-документ, і тим самим захаращувати його.

Потім задаємо колір фону для кожного блоку, і вказуємо координати потрібної іконки на спрайт (background-position).

результат:


Як бачимо, вже вималювалися наші кнопки. Тепер потрібно доопрацювати посилання.

nav ul li a span {

                font: 50px «Dosis», sans-serif- text-transform: uppercase;

                position: absolute- left: 580px; top: 29px;

                display: none;

}


Прописуємо стилі для селектора nav ul li a span, тобто вмісту всередині кожного тега .


Задаємо стиль шрифту Dosis, встановлюємо розмір - 50 пікселів. властивість text-transform допоможе перевести шрифт у верхній регістр (немов написано капс).

За замовчуванням кожна мітка вирівнюється в лівому верхньому кутку кожного блоку навігації, але нам потрібно, щоб вони всі були праворуч від меню. Для цього ми просто додаємо position: absolute. Пам`ятаємо, що для nav ul раніше ми встановили position: relative, тому відлік буде вестися від краю батьківського елементу, а не від краю вікна браузера.

Вийшло ось що:


Тому ще потрібно попрацювати зі стилями.

nav ul li a: hover span {

                display: block;

}

nav ul li: nth-child (1) a span {

color: # 5bb2fc;

}

nav ul li: nth-child (2) a span {

color: # 58ebd3;

}

nav ul li: nth-child (3) a span {

color: # ffa659;

}

nav ul li: nth-child (4) a span {

color: # ff7a85;

}


Всі номери показуються відкритими одночасно. Ми прописували раніше для nav ul li a spanвластивість display: none. Щоб при наведенні мишки показувалася певна напис, пишемо протилежне значення для nav ul li a:hover span - display: block. Тепер залишається тільки прописати колір для кожного посилання, такий же, як у кнопок.

весь CSS




Ось весь CSS-файл, щоб ви могли його скопіювати собі.

nav ul {

                list-style: none; overflow: hidden- position: relative;

}

                nav ul li {

                               float: left; margin: 0 20px 0 0;

                }

                               nav ul li a {

                                               display: block- width: 120px; height: 120px;

                                               background-image: url (icons.jpg) - background-repeat: no-repeat;

Відео: Уроки веб-дизайну в Photoshop

                               }

                                               nav ul li: nth-child (1) a {

                                                               background-color: # 5bb2fc;

                                                               background-position: 28px 28px;

                                               }

                                               nav ul li: nth-child (2) a {

                                                               background-color: # 58ebd3;

                                                               background-position: 28px -96px;

                                               }

                                               nav ul li: nth-child (3) a {

                                                               background-color: # ffa659;

                                                               background-position: 28px -222px;

                                               }

                                               nav ul li: nth-child (4) a {

                                                               background-color: # ff7a85;

                                                               background-position: 28px -342px;

                                               }

                              

                                                               nav ul li a span {

 font: 50px «Dosis», sans-serif- text-transform: uppercase;

 position: absolute- left: 580px; top: 29px;

 display: none;

                                                               }

                                                                              nav ul li a: hover span {

                                                                                              display: block;

                                                                              }

                                                              

                                                               nav ul li: nth-child (1) a span {

                                                                              color: # 5bb2fc;

                                                               }

                                                               nav ul li: nth-child (2) a span {

                                                                              color: # 58ebd3;

                                                               }

                                                               nav ul li: nth-child (3) a span {

                                                                              color: # ffa659;

                                                               }

                                                               nav ul li: nth-child (4) a span {

                                                                              color: # ff7a85;

                                                               } 


Ось фінальний вигляд меню:


Посилання на демо-версію 


От і все. Тепер ви можете використовувати таке стильне меню на своєму сайті-портфоліо.


Увага, тільки СЬОГОДНІ!


Оцініть, будь ласка статтю
Всього голосів: 90