.
Вътре в основния контейнер поставяме необходимото съдържание.
), образуван в css под формата на самия „бутон за хамбургер“, с помощта на който ще установим връзка със скрития квадрат за отметка. За целта е задължително името на атрибута for да съвпада с идентификатора на полето за отметка. За iOS се използва празен атрибут onclick
уебсайт <
ul>
<
li><
a href=
"#1"
>един
a>
<
li><
a href=
"#2"
>две
a>
<
li><
a href=
"#3"
>Три
a>
<
li><
a href=
"#4"
>Четири
a>
<
li><
a href=
"#5"
>Пет
a>
<
li><
a href=
"#6"
>шест
a>
<
li><
a href=
"#7"
>Седем
a>
ul>
един две Три Четири Пет шест Седем Това завършва нашето оформление на страничното меню. Вярно е, че има още една напълно незадължителна функция, това е фонът на затъмняване на основното съдържание, когато панелът е включен. Ако имате нужда, просто напишете под менюто или на всяко друго място в тялото на страницата допълнителен div-контейнер с определен клас:
<
div class
=
"mask-content"
>
div>
В демонстрацията изключих тази функция от работа по подразбиране, коментирайки този блок, ако изведнъж имате нужда от него, можете лесно да го намерите и да го включите също толкова лесно))). Като цяло, за да улесня разбирането на html на демонстрационната страница, написах подробни коментари за всеки елемент, така че ще отнеме много усилия, за да се изгубите.
И така, всички необходими елементи са по местата си, остава най-важното и интересно, което да оформи облика, цвета, формата и да придаде движение на нашето меню. Ние ще направим всичко това изключително с CSS. Без javascript или допълнителни изображения.
css Няма да описвам всяко правило и свойство, тъй като го направих директно в css код . Стиловете за панелите, разположени отляво или отдясно, са почти еднакви, различават се само в няколко стойности. В изходния архив и двете опции са пакетирани като отделни файлове, така че изберете този, от който се нуждаете, свържете го правилно с документа и това е всичко. Тук публикувам „смления css“ за менюто, което се плъзга от левия край на страницата:
/** * Превключваща се странична навигационна лента * се плъзга навън при ляво щракване */ . навигация ( /* ширината е произволна, можете да експериментирате */ ширина: 320px мин. ширина: 320px; /* фиксиране и настройка на височината на панела на максимум */ височина: 100%; позиция: фиксирана; отгоре: 0 отдолу: 0 марж: 0 /* изместване (скриване) на панела спрямо левия край на страницата */ ляво: -320px; /* подложка */ подложка: 15px 20px; /* плавен преход отместване на панела */ - webkit-преход: ляво 0. 3s; - moz-преход: ляво 0. 3s; преход: ляво 0.3s; /* определя цвета на фона на панела */ фон: #16a085; /* върху други елементи */ z-индекс: 2000; ) /** * Бутон за превключване на панел * етикет
*/
. превключване на навигация( /* абсолютна позиция */ позиция: абсолютна; /* спрямо левия край на панела */ ляво: 320px; /* подложка от горния ръб на панела */ отгоре: 1em; /* подложка */ подложка: 0.5em /* дефинирайте цвета на фона на радио бутона * по-често според цвета на фона на панела */ фон: наследяване; /* цвят на текста */ цвят: #dadada; /* тип курсор */ курсор: показалец; /* размер на шрифта */ размер на шрифта: 1.2em; височина на реда: 1; /* винаги върху другите елементи на страницата */ z-индекс: 2001; /* анимиран цвят на текста при задържане */ -webkit-преход: цвят. 25s лесно влизане и излизане; - moz-преход: цвят . 25s лесно влизане и излизане; преход: цвят . 25s лесно влизане и излизане; ) /* дефиниране на текст на бутона * Unicode символ (ТРИГРАМА ЗА РАЯ) */ . nav- превключване: след (съдържание: "\2630" ; текстова декорация: няма; ) /* цвят на текста при задържане на мишката */ . превключване на навигация: курсор на мишката ( цвят: #f4f4f4; ) /** * Скрито поле за отметка (чекбокс) * невидимо и недостъпно :) * атрибут на флаг за име на селектор */ [ id="nav-toggle" ] ( позиция: абсолютна; дисплей: няма; ) /** * промяна на позицията на превключвателя *, когато се гледа на мобилни устройства * когато навигацията е разширена, поставете я вътре в панела */ [ id= "nav-toggle" ] : отметнато ~ . навигация > . превключване на навигация (ляво: автоматично; дясно: 2px; горе: 1em; ) /** * Когато квадратчето е отметнато, панелът се отваря * използвайте псевдокласа :checked */ [ id= "nav-toggle" ] : отметнато ~ . nav ( ляво: 0 ; box-shadow: 4px 0px 20px 0px rgba(0 , 0 , 0 , 0.5 ) ; - moz- box-shadow: 4px 0px 20px 0px rgba(0 , 0 , 0 , 0.5 ) ; - webkit- box-shadow: 4px 0px 20px 0px rgba(0, 0, 0, 0.5); overflow-y: auto;) /* * изместване на съдържанието на страницата * с размера на ширината на панела, * функцията не е задължителна, за аматьор */ [ id= "nav-toggle" ] : отметнато ~ main > article ( - webkit- transform: translateX(320px) ; - moz- transform: translateX(320px) ; transform: translateX(320px) ; ) /* * променете символа за превключване, * обичайния кръст (УМНОЖЕНИЕ X), * можете да използвате всяка друга икона */ [ id= "nav-toggle" ] : отметнато ~ . навигация > . навигация: след ( съдържание: "\2715" ;) /** * поправете грешката в Android<= 4.1.2
* см: http://timpietrusky.com/advanced-checkbox-hack
*/
тяло (- webkit-animation: корекция на грешки безкрайни 1s;) @- webkit- корекция на грешки на ключови кадри (до (подложка: 0;)) /** * се грижи за средни и малки екрани * на мобилни устройства */ @ медиен екран и (мин. ширина: 320px) ( html, тяло ( margin: 0 ; overflow- x: hidden; ) ) @ медиен екран и (макс. ширина: 320px) ( html, тяло ( margin: 0 ; overflow- x: скрит;) .nav (ширина: 100%; сянка на полето: няма)) /** * Формираме стила на заглавието (логото) на панела */ . nav h2 (ширина: 90%; подложка: 0; поле: 10px 0; подравняване на текст: център; сянка на текст: rgba(255, 255, 255, .1) - 1px - 1px 1px, rgba(0, 0, 0 , .5 ) 1px 1px 1px; размер на шрифта: 1. 3em; височина на реда: 1. 3em; непрозрачност: 0; transform: scale(0.1 , 0.1 ) ; -ms- transform: scale(0.1 , 0.1 ) ; - moz- transform: scale(0.1, 0.1) ; - webkit- transform: scale(0.1 , 0.1 ); transform- origin: 0 % 0 %; - ms- transform- origin: 0 % 0 %; - moz- transform- произход: 0 % 0 % - webkit- трансформация- произход: 0 % 0 % - преход: непрозрачност 0. 8s, трансформация 0. 8s - ms- преход: непрозрачност 0. 8s, - ms- трансформация 0. 8s - moz-преход : непрозрачност 0,8s, -moz-transform 0,8s;-webkit-transition: непрозрачност 0,8s, -webkit-transform 0,8s; ) . nav h2 a (цвят: #dadada; декорация на текст: няма; преобразуване на текст: главни букви;) /*плавно появяване на заглавието (логото) при отваряне на панела */ [ id= "nav-toggle" ] : отметнато ~ . nav h2 (непрозрачност: 1; трансформация: мащаб(1, 1); - ms- трансформация: мащаб(1, 1) ; - moz- трансформация: мащаб(1, 1) ; - webkit- трансформация: мащаб(1, 1) ) ;) /** * формира самото меню * използва неподреден списък за елементи от менюто * закрепва трансформации и плавни преходи */ . nav > ul (дисплей: блок; поле: 0; подложка: 0; стил на списък: няма;) . nav > ul > li (line-height: 2.5; opacity: 0; - webkit- transform: translateX(- 50 %) ; - moz- transform: translateX(- 50 %) ; - ms- transform: translateX(- 50 %) ) ; трансформация: translateX(- 50 % ) ; - webkit-преход: непрозрачност. 5s. 1s, - webkit- трансформация. 5s. 1s; - moz- преход: непрозрачност. 5s. 1s, - moz- трансформация. 5s. 1s ;- ms- преход: непрозрачност .5s .1s, - ms- трансформация .5s .1s; преход: непрозрачност .5s .1s, трансформация .5s .1s; ) [ id= "nav-toggle" ] : отметнато ~ . nav > ul > li (opacity: 1; - webkit- transform: translateX(0) ; - moz- transform: translateX(0) ; - ms- transform: translateX(0) ; transform: translateX(0) ; ) /* определя интервалите за показване на елементите от менюто */ . nav > ul > li: nth- дете(2) ( - webkit- преход: непрозрачност . 5s . 2s, - webkit- трансформация . 5s . 2s; преход: непрозрачност . 5s . 2s, преобразуване . 5s . 2s; ) . nav > ul > li: nth- дете(3 ) ( - webkit- преход: непрозрачност . 5s . 3s, - webkit- трансформация . 5s . 3s; преход: непрозрачност . 5s . 3s, преобразуване . 5s . 3s; ) . nav > ul > li: nth- дете(4 ) ( - webkit- преход: непрозрачност . 5s . 4s, - webkit- трансформация . 5s . 4s; преход: непрозрачност . 5s . 4s, преобразуване . 5s . 4s; ) . nav > ul > li: nth- дете(5 ) ( - webkit- преход: непрозрачност . 5s . 5s, - webkit- трансформация . 5s . 5s; преход: непрозрачност . 5s . 5s, преобразуване . 5s . 5s; ) . nav > ul > li: nth- дете(6 ) ( - webkit- преход: непрозрачност . 5s . 6s, - webkit- трансформация . 5s . 6s; преход: непрозрачност . 5s . 6s, преобразуване . 5s . 6s; ) . nav > ul > li: nth- дете(7) ( - webkit- преход: непрозрачност . 5s . 7s, - webkit- трансформация . 5s . 7s; преход: непрозрачност . 5s . 7s, преобразуване . 5s . 7s; ) /** * връзки към елементи от меню стил */ . nav > ul > li > a ( дисплей: вграден блок; позиция: относителна; подложка: 0; семейство шрифтове: "Open Sans", sans-serif; тегло на шрифта: 300; размер на шрифта: 1. 2em; цвят : #dadada;ширина: 100%;украса на текст: няма; /* плавен преход */ -webkit-преход: цвят. 5s лекота, подплата. 5s лекота; - moz-преход: цвят . 5s лекота, подплата. 5s лекота; преход: цвят . 5s лекота, подплата. 5s лекота; ) /** * състояние на връзките към менюто при задържане */ . nav > ul > li > a:hover, . nav > ul > li > a: фокус ( цвят: бял; padding-left: 15px; ) /** * подчертаване на връзки към менюто */ . nav > ul > li >
а :
преди {
съдържание :
""
;
дисплей :
блок ;
позиция :
абсолютен ;
точно :
0
;
отдолу :
0
;
височина :
1px ;
ширина :
100
%;
-
уебкит -
преход :
ширина 0s лекота ;
преход :
ширина 0s лекота ;
}
.
нав >
ул >
ли >
а :
след {
съдържание :
""
;
дисплей :
блок ;
позиция :
абсолютен ;
наляво :
0
;
отдолу :
0
;
височина :
1px ;
ширина :
100
%;
заден план :
#3bc1a0; -
уебкит -
преход :
ширина .
5s лекота ;
преход :
ширина .
5s лекота ;
}
/** * анимирайте подчертаването * на връзките при задържане */
.
нав >
ул >
ли >
а :
завъртане :
преди {
ширина :
0
%;
заден план :
#3bc1a0; -
уебкит -
преход :
ширина .
5s лекота ;
преход :
ширина .
5s лекота ;
}
.
нав >
ул >
ли >
а :
завъртане :
след {
ширина :
0
%;
заден план :
прозрачен ;
-
уебкит -
преход :
ширина 0s лекота ;
преход :
ширина 0s лекота ;
}
/* затъмняване на фона на основното съдържание * при блокиране на елементи * противоречива функция, ако имате нужда от нея * просто разкоментирайте */
/* .mask-content ( дисплей: блок; позиция: фиксирана; горе: 0; ляво: 0; z-индекс: 1000; ширина: 100%; височина: 100%; цвят на фона: rgba(0, 0, 0) , 0.4); видимост: скрита; непрозрачност: 0;) :проверено ~ .mask-content (видимост: видима; непрозрачност: 1; -webkit-transition: непрозрачност .5s, видимост .5s; преход: непрозрачност .5s, видимост . 5s;) */
/** * Превключваема странична лента за навигация * се плъзга при ляво щракване */ .nav ( /* ширината е произволна, не се колебайте да експериментирате */ ширина: 320px; min-width: 320px; /* коригирайте и задайте височината на панел до максимума */ височина: 100%; позиция: фиксирана; горе: 0; дъно: 0; поле: 0; /* преместване (скриване) на панела спрямо левия край на страницата */ ляво: -320px; /* подложка */ подложка: 15px 20px; / * плавен преход на отместване на панела */ -webkit-transition: ляво 0,3 s; -moz-transition: ляво 0,3 s; преход: ляво 0,3 s; /* задайте цвета на фона на панел */ фон: #16a085; /* върху други елементи * / z-индекс: 2000; ) /** * Бутон за превключване на панел * етикет */ .nav-toggle ( /* абсолютна позиция */ позиция: абсолютна; /* спрямо левия край на панела */ ляво: 320px; /* подплата от горния ръб на панела */ горе: 1em; / * подложка */ подложка: 0.5em; /* дефинирайте цвета на фона на бутона за избор * по-често според цвета на фона на панела */ фон: наследяване; /* цвят на текста */ цвят: #dadada; /* курсор тип */ курсор: показалец; /* размер на шрифта * / размер на шрифта: 1.2em; височина на реда: 1; /* винаги върху другите елементи на страницата */ z-индекс: 2001; /* анимиран цвят на текста при задържане */ -webkit-transition: color .25s ease-in-out; -moz-transition: color .25s ease-in-out; conversion: color .25s ease-in-out; ) /* дефиниране на текст на бутона * Unicode знак (ТРИГРАМА ЗА РАЯ) */ .nav-toggle:after (съдържание: "\2630"; text-decoration: none; ) /* цвят на текста при курсора */ .nav-toggle:hover ( цвят: #f4f4f4; ) /* * * Скрито поле за отметка (чекбокс) * невидимо и недостъпно :) * атрибут на флаг за име на селектор */ ( positi на: абсолютен; дисплей: няма; ) /** * промяна на позицията на превключване * при гледане на мобилни устройства * когато навигацията е разширена, позиция вътре в панела */ :отметнато ~ .nav > .nav-toggle ( ляво: автоматично; дясно: 2px; горе: 1em; ) /* * * Когато квадратчето е отметнато, панелът се отваря * използвайте псевдо-класа :checked */ :checked ~ .nav ( left: 0; box-shadow:4px 0px 20px 0px rgba(0,0,0, 0.5) ); -moz-box-shadow :4px 0px 20px 0px rgba(0,0,0, 0.5); -webkit-box-shadow:4px 0px 20px 0px rgba(0,0,0, 0.5); overflow-y: auto; ) /* * изместване на съдържанието на страницата * с размера на ширината на панела, * опция по избор, за любител */ :checked ~ main > article ( -webkit-transform: translateX(320px); -moz-transform: translateX(320px); transform: translateX(320px); ) /* * промяна на символа за превключване, * персонализиран кръст (УМНОЖЕНИЕ X), * можете да използвате всяка друга икона */ :проверено ~ .nav > .nav-toggle:after ( съдържание: "\2715"; ) /** * префикс грешка в android<= 4.1.2
* см: http://timpietrusky.com/advanced-checkbox-hack
*/ body {
-webkit-animation: bugfix infinite 1s;
} @-webkit-keyframes bugfix {
to {
padding: 0;
}
} /**
* позаботьтимся о средних и маленьких экранах
* мобильных устройств
*/ @media screen and (min-width: 320px) {
html,
body {
margin: 0;
overflow-x: hidden;
}
} @media screen and (max-width: 320px) {
html,
body {
margin: 0;
overflow-x: hidden;
}
.nav {
width: 100%;
box-shadow: none
}
} /**
* Формируем стиль заголовка (логотип) панели
*/ .nav h2 {
width: 90%;
padding: 0;
margin: 10px 0;
text-align: center;
text-shadow: rgba(255, 255, 255, .1) -1px -1px 1px, rgba(0, 0, 0, .5) 1px 1px 1px;
font-size: 1.3em;
line-height: 1.3em;
opacity: 0;
transform: scale(0.1, 0.1);
-ms-transform: scale(0.1, 0.1);
-moz-transform: scale(0.1, 0.1);
-webkit-transform: scale(0.1, 0.1);
transform-origin: 0% 0%;
-ms-transform-origin: 0% 0%;
-moz-transform-origin: 0% 0%;
-webkit-transform-origin: 0% 0%;
transition: opacity 0.8s, transform 0.8s;
-ms-transition: opacity 0.8s, -ms-transform 0.8s;
-moz-transition: opacity 0.8s, -moz-transform 0.8s;
-webkit-transition: opacity 0.8s, -webkit-transform 0.8s;
} .nav h2 a {
color: #dadada;
text-decoration: none;
text-transform: uppercase;
} /*плавное появление заголовка (логотипа) при раскрытии панели */ :checked ~ .nav h2 {
opacity: 1;
transform: scale(1, 1);
-ms-transform: scale(1, 1);
-moz-transform: scale(1, 1);
-webkit-transform: scale(1, 1);
} /**
* формируем непосредственно само меню
* используем неупорядоченный список для пунктов меню
* прикрутим трансфомации и плавные переходы
*/ .nav > ul ( дисплей: блок; поле: 0; подплата: 0; стил на списък: няма; ) .nav > ul > li (височина на линия: 2,5; непрозрачност: 0; -webkit-transform: translateX(-50%); -moz-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); -webkit-transition: непрозрачност .5s .1s, -webkit-transform .5s .1s; -moz-transition: непрозрачност .5s .1s, -moz-transform .5s .1s; -ms-transition: непрозрачност .5s .1s, -ms-transform .5s .1s; преход: непрозрачност .5s .1s , transform .5s .1s; ) :checked ~ .nav > ul > li (opacity: 1; -webkit-transform: translateX(0); -moz-transform: translateX(0); -ms-transform: translateX(0) ); transform: translateX(0); ) /* дефиниране на интервали на елементи от менюто */ .nav > ul > li:nth-child(2) ( -webkit-transition: opacity .5s .2s, -webkit-transform .5s . 2s; преход: непрозрачност .5s .2s, трансформация .5s .2s; ) .nav > ul > li:nth-child(3) ( -webkit-transition: непрозрачност .5s .3s, -webkit-transform .5s . 3s ;преход: непрозрачност .5s .3s, трансформация .5s .3s; ) .nav > ul > li:nth-child(4) ( -webkit-transition: opacity .5s .4s, -webkit-transform .5s .4s; преход: непрозрачност .5s .4s, трансформация .5s .4s; ) .nav > ul > li:nth-child(5) ( -webkit-transition: opacity .5s .5s, -webkit-transform .5s .5s; conversion: opacity .5s .5s, transform .5s .5s; ) .nav > ul > li:nth-child(6) ( -webkit-transition: непрозрачност .5s .6s, -webkit-transform .5s .6s; преход: непрозрачност .5s .6s, трансформация .5s .6s; ) . nav > ul > li:nth-child(7) ( -webkit-transition: opacity .5s .7s, -webkit-transform .5s .7s; conversion: opacity .5s .7s, transform .5s .7s; ) /* * * стил на връзка към елемент от менюто */ .nav > ul > li > a ( дисплей: вграден блок; позиция: относителна; подложка: 0; семейство шрифтове: "Open Sans", sans-serif; тегло на шрифта: 300; размер на шрифта: 1.2em; цвят: #dadada; ширина: 100%; украса на текст: няма; /* плавен преход */ -webkit-преход: цвят .5s лекота, подложка .5s лекота; -moz-преход: цвят .5s ease, padding .5s ease; преход: цвят .5s ease, padding .5s ease; ) /** * състояние на връзките към менюто при задържане на мишката */ .nav > ul > li > a:hover, .nav > ul > li > a:focus (цвят: бял; padding-left : 15px; ) /** * подчертаване на връзката към менюто */ .nav > ul > li > a:before ( съдържание: ""; дисплей: блок; позиция: абсолютна; дясно: 0; дъно: 0; височина: 1px; ширина: 100 % ; -webkit-transition: ширина 0s лекота; преход: ширина 0s лекота; ) .nav > ul > li > a:after ( съдържание: ""; дисплей: блок; позиция: абсолютна; ляво: 0; дъно: 0; височина : 1px; ширина: 100%; фон: #3bc1a0; -webkit-transition: ширина. 5s лекота; преход: ширина .5s лекота; ) /** * анимирайте подчертаната линия * връзките при задържане на мишката */ .nav > ul > li > a:hover:before ( ширина: 0%; фон: #3bc1a0; -webkit-transition: ширина .5s лекота; преход: ширина .5s лекота; ) .nav > ul > li > a:hover:after ( ширина: 0%; фон: прозрачен; -webkit-transition: ширина 0s лекота; преход: ширина 0s лекота; ) /* избледняване на фона към основното съдържание * докато блокирате елементи * противоречива функция, ако имате нужда от нея * просто премахнете коментара */ /* .mask-content ( дисплей: блокиране; позиция: фиксирана; горе: 0; ляво: 0; z-индекс: 1000; ширина: 100% ; височина: 100%; цвят на фона: rgba(0, 0, 0, 0.4); видимост: скрито; непрозрачност: 0; ): отметнато ~ .mask-съдържание (видимост: видимо; непрозрачност: 1; -webkit -преход : непрозрачност .5s, видимост .5s; преход: непрозрачност .5s, видимост .5s; ) */
Както разбирате, почти всички стойности на свойствата са незадължителни, т.е. можете лесно да промените всички негови елементи по ваш вкус и цвят, обясненията, надявам се, ще ви помогнат с това. Е, ако нещо не се потъпче или се намери нещо от моето неразбиране, пишете в коментарите, определено ще го разберем и ще го поправим.
В заключение искам да ви напомня, че не всички браузъри са еднакво добри в обработката на CSS3 свойства. Това решение, разбира се, е много интересно, но все пак по-експериментално. След като го настроите според вашите нужди, преди да го завиете здраво към работното място, не забравяйте да проверите работата му различни браузъри и на различни мобилни устройства.
Погледнете отново резултата, изтеглете изходния архив, експериментирайте с различни параметри и създавайте, създавайте, създавайте...
В близко бъдеще ще се опитам да разкажа и покажа как, въз основа на това решение , можете лесно да внедрите прибиращ се, странични панели , с други също толкова важни елементи за взаимодействие с потребителите на борда.
Сега потребителите имат възможност да се запознаят с . Всички те са представени в отделна категория, която можете да намерите на пазара TemplateMonster. Не би трябвало да има проблеми с тях. Просто добавете вашето уникално съдържание и сте готови – можете да започнете бизнес и да привличате все повече и повече читатели. Също така е много важно да запомните, че текстът за всеки шаблон е написан на ръка.
С цялото си уважение, Андрю
Добър ден, скъпи читатели. Днес ще обсъдим темата как да направите хоризонтално меню с помощта на html и css ". Менюто, като правило, се намира в заглавката на сайта и представлява списък с връзки към най-важните страници, нарича се още главно меню . Потребителите постоянно кликват върху тези връзки. Начинът, по който ги подреждате и какъв дизайн давате на менюто, ще повлияе на поведението на потребителите, преобразуването, цялостното им преживяване на вашия сайт и, разбира се, .
HTML код за хоризонтално меню
Някога главното меню за сайта беше направено от снимки, таблици, флаш и евентуално нещо друго, но днес има най-популярният и правилен метод за създаване на меню с помощта на тагове „списък“.
Таговете се използват за създаване на менюта.
Пример за използване на html тагове за създаване на меню в кода по-долу:
У дома
Услуги
цени
Контакти
Стандартни CSS стилове за хоризонтално меню ul ( list-style: none; /*премахване на маркери за списък*/ margin: 0; /*премахване на подложка*/ padding-left: 0; /*премахване на подложка*/ ) a (text-decoration: none; /*премахване на подчертаване текст на връзката*/ ) li ( float:left; /*Поставете списъка хоризонтално, за да реализирате менюто*/ margin-right:5px; /*Отстъп на елементите от менюто*/ ) Получаваме готово горно меню в заглавката, без никакви специални стилове и звънци и свирки, това може да се нарече рамката на вашето бъдеще красиво меню . Ако копирате и поставите този html и css, ще изглежда така.
Примерна рамка (шаблон) за вашето бъдещо меню
Всичко се оказа доста просто, вие, разбира се, искате красиво главно меню веднага, но без да разбирате основите, просто няма да можете да създадете добро меню без грешки в html и css.
Освен float:left има и няколко други CSS метода, използвани, за да направят менютата хоризонтални; , например display:inline-block; или display:flex; , но се препоръчва да използвате описания по-горе метод.
Нека попълним нашия шаблон за меню с различни стилове и го направим красив .
Примери за красиво хоризонтално меню за уебсайт
Сега ще дам няколко готови примера с готов дизайн на хоризонтално меню.
Можете сами да създадете всички "хубави неща" за вашия сайт, а не да търсите в Интернет. Най-лесният начин да направите това е въз основа на един от примерите по-долу.
Просто синьо меню с отделни елементи
CSS стилове за "горното" меню
По-долу са стиловете за това меню. HTML остава същият като в менюто "skeleton".
Ul ( list-style: none; /*премахване на маркери за списък*/ margin: 0; /*премахване на подложка*/ padding-left: 0; /*премахване на подложка*/ margin-top:25px; /*indent top*/ ) a ( text-decoration: none; /*премахнете подчертаването на текста на връзката*/ background:#30A8E6; /*добавете фон към елемент от менюто*/ color:#fff; /*променете цвета на връзката*/ padding:10px; /*добавете подложка */ font-family: arial; /*промяна на шрифта*/ border-radius:4px; /*добавяне на заобляне*/ -moz-transition: всички 0.3s 0.01s лекота; /*направете плавен преход*/ -o-transition : всички 0,3 s 0,01 s лекота; -webkit-transition: всички 0,3 s 0,01 s лекота; ) a:hover ( background:#1C85BB;/*добавете ефект на задържане*/) li ( float:left; /*поставете списък хоризонтално към прилагане на менюто*/ margin-right:5px; /*Отстъп на елементите от менюто*/ )
Главно меню, разположено на цветна линия с червен фон
css стил меню на цветна линия ul ( list-style: none; /*премахване на маркери за списък*/ margin: 0; /*премахване на подложка*/ padding-left: 0; /*премахване на подложка*/ margin-top:25px; /*indent top*/ фон :#FF4444; /*добавяне на фон към цялото меню (замяната на този параметър ще промени цвета на цялото меню)*/ височина: 50px; /*задаване на височината*/ ) a ( text-decoration: none; /* премахнете подчертаването на текста на връзката* / background:#FF4444; /*добавете фон към елемента от менюто (замяната на тази настройка ще промени цвета на всички елементи от менюто)*/ color:#fff; /*променете цвета на връзката* / padding:0px 15px; /*добавете padding*/ font-family: arial; /*променете шрифта*/ line-height:50px; /*подравнете менюто вертикално*/ display: block; border-right: 1px solid # F36262; /*добавете рамка вдясно*/ -moz-transition : всички 0,3s 0,01s лекота; /*направете плавен преход*/ -o-transition: всички 0,3s 0,01s лекота; -webkit-transition: всички 0.3s 0.01s лекота; ) a:hover ( background:#D43737;/ *добавете ефект на задържане*/ ) li ( float:left; /*поставете списък хоризонтално за реално меню*/ ) Падащо меню в HTML+CSS
За изпълнение допълнително падащо (падащо) меню в сайта за всеки елемент от менюто трябва да добавим допълнителен списък с елементи към HTML кода за всяка връзка от хоризонталното меню и да променим CSS стиловете. В стиловете ще използваме прост трик - промяна на показването на падащото меню при задържане на курсора на елемента, от който се нуждаем горно меню . Например, нека вземем елемента "услуги".
Пример за създаване на просто падащо меню
HTML код на падащото меню
У дома
Услуги
Услуга 1
Дълга служба 2
Услуга 3
цени
Контакти
Падащи CSS стилове ul ( list-style: none; /*премахване на маркери за списък*/ margin: 0; /*премахване на подложка*/ padding-left: 0; /*премахване на подложка*/ margin-top:25px; /*indent top*/ фон :#819A32; /*добавяне на фон към цялото меню*/ височина: 50px; /*задаване на височината*/ ) a ( text-decoration: none; /*премахване на подчертаването на текста на връзката*/ background:#819A32 ; /*добавете фон към елемент от менюто*/ цвят:#fff; /*променете цвета на връзките*/ padding:0px 15px; /*добавете подложка*/ font-family: arial; /*променете шрифта*/ line-height :50px; /*подравнете менюто спрямо вертикалите*/ display: block; border-right: 1px solid #677B27; /*добавете рамка вдясно*/ -moz-transition: all 0.3s 0.01s ease; /*направете плавен преход*/ -o-преход: всички 0.3s 0.01s лекота; -webkit-transition: всички 0.3s 0.01s лекота; ) a:hover ( фон:#D43737;/*Добавете ефект на задържане*/ ) li ( float :left; /*Поставете списъка хоризонтално, за да реализирате менюто* / position:relative; /*задайте позицията за позициониране*/ ) /*Стилове за скритото падащо меню* / li > ul (позиция:абсолютна; отгоре:25px; дисплей: няма; ) /*Направете скритата част видима*/ li:hover > ul ( display:block; width:250px; /*Задайте ширината на падащото меню*/ ) li:hover > ul > li ( float:none; /* Премахнете хоризонталното позициониране* / ) И за да разберете точно какви услуги и категории трябва да имате, препоръчвам ви да се запознаете с материала:.
Опитах се да ви разкажа възможно най-накратко как да създадете основно хоризонтално меню, да направите няколко шаблона, как да добавите прости стилове към него и да го направите по-красив, как да направите падащо меню за вашия сайт. За улеснение съм събрал всички менюта, представени по-горе, в един html файл, който можете да изтеглите по-долу. Изглежда като на екранната снимка:
Благодаря ви за вниманието.
В този урок ще направим класическо хоризонтално меню чист CSS . Има икони в списъците. Когато задържите курсора на мишката върху елемент, той плавно променя цвета на бутона и текста и добавя сянка. Падащите списъци могат да бъдат направени на много нива и най-важното е, че всичко това е доста просто реализирано в чист CSS3.
В урока ще използваме:
дисплей: гъвкав;
използвайте преход;
ще позиционираме елементите с помощта на позиция.
HTML структура на хоризонталното меню
Първо, нека напишем маркирането за хоризонталното меню. Отваряме нашата среда за разработка, в моя случай това е PhpStorm, създаваме файл index.html, пишем рамката html:5, заменяме lang с ru.
Ще изтрия всички мета с изключение на кодирането, ще напиша заглавието си " том меню ».
Между тялото записваме заглавния таг, а в него е блок с класа .dws-menu, в който ще се намира нашето меню. Освен това структурата ще бъде както следва, ще създадем списъци в размер на пет броя. Всеки списък ще има връзка с атрибута href="#". След това ще има икона I с класа .fa .fa-
Щракнете върху Приложи.
Нека напишем името на елементите от менюто ( Начало, Продукти, Услуги, Новини, Контакти ).
След това изберете и свържете иконите. Отиваме на уебсайта на Font Awesome, избираме икони за тези елементи от менюто:
Изтегляме архива от сайта с икони, извличаме съдържанието му на нашия компютър, копираме папката с шрифтове и папката css в нашата среда за разработка.
Папката fonts съдържа шрифтове за икони, а папката css съдържа техните стилове. Компресираните стилове могат да бъдат премахнати от font-awesome.min, включително некомпресиран font-awesome.css.
В index.html свързваме икони и предписваме на всеки елемент свой собствен стил на икона ( У дома , карта за пазаруване , зъбни колела , ти-списък , плик-отворен ).
Направихме основната рамка, ще оформим подменюто, след като опишем основния стил, а сега ще създадем файл, в който ще опишем основните стилове на хоризонталното меню style.css и ще го свържем с index.html. За да проверя дали стиловете са свързани, ще създам папка img, в нея ще поставя произволно изображение на Фонът . Нека напишем връзката на изображението с помощта на фон.
Тяло (фоново изображение: url("../img/ep_naturalwhite.png"); )
Описание на CSS стилове за хоризонталното меню
Първо, нека нулираме всички отстъпи, които различните браузъри могат да задават по подразбиране:
Dws-меню *( поле: 0; подложка: 0; )
Нека зададем заглавието на 200 спатия. и задайте шрифт Cuprum, който може да бъде изтеглен и свързан отделно към вашия сайт, за всеки случай ще напишем допълнителни шрифтове.
Горен колонтитул (поле: 200px; семейство шрифтове: Cuprum, Arial, Helvetica, sans-serif; )
Нека скрием маркерите от списъците:
dws-меню ul, .dws-меню ol( стил на списък: няма; )
Нека покажем списъците хоризонтално с display: flax и го направим центриран:
Dws-menu > ul( display: flex; justify-content: center; )
В заглавката, нека направим отстъп само отгоре, напишете margin-top .
Заглавие ( margin-top: 200px; семейство шрифтове: Cuprum, Arial, Helvetica, sans-serif; )
Да проектираме нашето меню, да зададем цвета на бутоните, шрифта и т.н.
Dws-menu > ul li a( display: block; background: #ececed; padding: 15px 30px 15px 40px; font-size: 14px; color: #454547; text-decoration: none; text-transform:uppercase; )
След това позиционираме иконите, присвояваме позиция на списъците: относителна; за допълнително центриране на иконите:
dws-меню > ul li( позиция: относителна; )
dws-menu > ul li > a i.fa (position: absolute; top: 15px; left: 12px; font-size: 18px; )
Нека да присвоим разделител на границата на списъците, да изберем първия LI елемент и да зададем границата. Избираме последния елемент LI и му задаваме подобна граница.
Dws-меню > ul li:first-child( border-left: 1px solid #b2b3b5; ) .dws-menu > ul li:last-child( border-right: 1px solid #babbbd; )
Създаване на разделители за LI списъци:
.dws-меню > ul li( позиция: относителна;
border-right: 1px плътен #c7c8ca;
}
Менюто придоби външния вид, след което можете да започнете да описвате стилове при задържане.
Анимирайте хоризонталното меню при задържане
Dws-menu li a:hover( фон: #454547; цвят: #ffffff; сянка на кутията: 1px 5px 10px -5px черно; преход: всички 0,3s лекота; )
И за да накарате този ефект да изчезне плавно, добавете този стил към връзката в покой:
.dws-menu > ul li a( display: block; background: #ececed; padding: 15px 30px 15px 40px; font-size: 14px; color: #454547; text-decoration: none; text-transform:uppercase; преход: всички 0.3s лекота; ) Главното меню е готово и можете да започнете да описвате подменютата и техните подменюта.
Описване на CSS/HTML падащо меню
Отваряме index.html и добавяме например допълнително меню към продуктите. Между списъците LI вмъкваме UL , в него ще поставим пет списъка, в които ще има връзки с атрибут herf=”#” .
ul>li*5>a
Щракнете върху Приложи, напишете името на елементите ( Дрехи, електроника, храна, инструменти, живот. химия ).
облекло
електроника
Храна
Инструменти
Ген. химия
След това отваряме style.css и описваме стиловете на подменюто.
Изберете втория списък и му дайте позиция: абсолютно; , задайте минималната ширина на 150 пиксела.
/*подменю*/ .dws-menu li ul( позиция: абсолютна; мин. ширина: 150px; )
Нека напишем границата на 1 връх към списъците.
Dws-меню li > ul li( граница: 1px solid #c7c8ca; )
За връзки в подменюто задайте подложката на 10 пиксела, премахнете трансформацията на текста и направете фона с няколко тона по-тъмен фон: #e4e4e5; .
Dws-меню li > ul li a( padding: 10px; text-transform: none; background: #e4e4e5; )
След това ще създадем друго вложено меню. Нека отидем на файла за маркиране и например в "Електроника" формираме менюто по аналогия, както направихме преди. Опишете заглавията на параграфите ( Фотоапарати, компютри, телефони ) и запазете.
електроника
Те се показват, но са скрити под главното меню, сега позиция: абсолютна; вложен UL и го изместете със 150 пика. от страната:
Dws-меню li > ul li ul( позиция: абсолютна; дясно: -150px; горе: 0; )
/*подменю*/ .dws-menu li ul( позиция: абсолютна; мин. ширина: 150px; дисплей: няма; ) И за техния външен вид ще изберем списъците при задържане и ще ги покажем с помощта на display: block; .
dws-menu li:hover > ul( display: block; )
Сега можете да добавите слоести менюта просто чрез просто копиране на UL блока, променяйки неговите клаузи.
У дома
Продукти
облекло
електроника
Храна
Инструменти
Ген. химия
Услуги
Услуга 1
Услуга 2
Услуга 3
Новини
Контакти
След това нека украсим бутоните със съставката за последните стъпки. Използвам CSS генератор, имам няколко създадени Presets, можете да създадете свои собствени, в моя случай просто копирам даден код и поставете фона, който написах преди.
.dws-меню > ul li a( дисплей: блок;
/* Постоянна връзка - използвайте за редактиране и споделяне на този градиент: http://colorzilla.com/gradient-editor/#c9c9c9+0,f6f6f6+2,c4c5c7+98,757577+100;Custom+3 */ фон: #c9c9c9 ; /* Стари браузъри */ фон: -moz-linear-gradient(top, #c9c9c9 0%, #f6f6f6 2%, #c4c5c7 98%, #757577 100%); /* FF3.6-15 */ фон: -webkit-linear-gradient(top, #c9c9c9 0%,#f6f6f6 2%,#c4c5c7 98%,#757577 100%); /* Chrome10-25,Safari5.1-6 */ фон: линеен градиент (до дъно, #c9c9c9 0%,#f6f6f6 2%,#c4c5c7 98%,#757577 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ филтър: progid:DXImageTransform.Microsoft.gradient(startColorstr="#c9c9c9", endColorstr="#757577",GradientType=0); /* IE6-9 */
подложка: 15px 30px 15px 40px; размер на шрифта: 14px; цвят: #454547; текст-декорация: няма; преобразуване на текст: главни букви; преход: всички 0.3s лекота; ) .dws-menu li a:hover( /* Постоянна връзка - използвайте за редактиране и споделяне на този градиент: http://colorzilla.com/gradient-editor/#e0e1e5+0.454547+2.454547+98,e0e1e5+100 */ фон: #e0e1e5; /* Стари браузъри */ фон: -moz-linear-gradient(top, #e0e1e5 0%, #454547 2%, #454547 98%, #e0e1e5 100%); /* FF3.6-15 */ фон: -webkit-linear-gradient(top, #e0e1e5 0%,#454547 2%,#454547 98%,#e0e1e5 100%); /* Chrome10-25,Safari5.1-6 */ фон: линеен градиент (до дъно, #e0e1e5 0%,#454547 2%,#454547 98%,#e0e1e5 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ филтър: progid:DXImageTransform.Microsoft.gradient(startColorstr="#e0e1e5", endColorstr="#e0e1e5",GradientType=0); /* IE6-9 */
цвят: #ffffff; кутия-сянка: 1px 5px 10px -5px черно; преход: всички 0.3s лекота; )
При желание това меню можете да подредите стила, който ви подхожда на сайта, доста лесно е да генерирате цвят и да го замените в кода. Резултатът е просто и в същото време хубаво хоризонтално меню, направено с чист CSS.
В тази публикация ще направим фиксирано странично информационно меню. За да реализираме иконите, ще свържем шрифта.
Стъпка 1. Свържете шрифта с икони, създайте празен документ
Можете да намерите подробна информация за работата с шрифта FontAwesome и линк към самия проект в моя пост -.
Ето кода на страницата със свързаните файлове:
Фиксирано странично меню
Стъпка 2: Добавяне на HTML маркиране на фиксираното меню
Ето кода за маркиране за нашето фиксирано меню:
Както забелязахте, приложих етикета - това е HTML5 маркиращ елемент, ако използвате html4, можете да замените този таг с обикновен или го премахнете напълно и преместете идентификатора в списъка, както следва: