Начало - Windows
CSS и HTML5: Адаптивно меню за навигация. Създаване на адаптивно навигационно меню Как да направите навигационно меню в html

Ако вашият уебсайт е нещо повече от една уеб страница, тогава трябва да помислите за добавяне на навигационна лента (меню). Менюто е раздел от уебсайт, предназначен да помогне на посетителите да навигират в сайта.

Всяко меню е списък от връзки, водещи към вътрешните страници на сайта. Най-лесният начин да добавите лента за навигация към вашия сайт е да създадете меню с помощта на CSS и HTML.

Вертикално меню

  • Първата стъпка при създаването на вертикално меню е да създадете списък с водещи символи. Ние също ще трябва да можем да идентифицираме списъка, така че ще добавим id атрибут към него с идентификатора "navbar". Всеки елемент

    За нас

    Следващата ни задача е да възстановим стиловете на списъка по подразбиране. Трябва да премахнем външната и вътрешната подложка от самия списък и водещите точки от елементите на списъка. След това задайте желаната ширина:

    #navbar ( margin: 0; padding: 0; list-style-type: none; width: 100px; ) Сега е време да оформите самите връзки. Ще им добавим цвят на фона, ще променим параметрите на текста: цвят, размер и тегло на шрифта, ще премахнем подчертаването, ще добавим малки отстъпи и ще предефинираме дисплея

    елемент от вграден в блок. Освен това към елементите на списъка са добавени лява и долна рамка.

    #navbar a ( цвят на фона: #949494; цвят: #fff; подложка: 5px; украса на текста: няма; тегло на шрифта: получер; ляво поле: 5px плътно #33ADFF; дисплей: блок; ) #navbar li ( border-left: 10px solid #666; border-bottom: 1px solid #666 )

    Комбинирахме целия код, описан по-горе, в един пример, сега, като щракнете върху бутона за опит, можете да отидете на страницата с примери и да видите резултата:

    Заглавие на документа #navbar ( margin: 0; padding: 0; list-style-type: none; width: 100px; ) #navbar li ( border-left: 10px solid #666; border-bottom: 1px solid #666; ) # лента за навигация a (цвят на фона: #949494; цвят: #fff; подложка: 5px; украса на текста: няма; тегло на шрифта: получер; ляво поле: 5px плътно #33ADFF; дисплей: блок; )

    Опитайте »

    Когато задържите курсора на мишката върху елемент от менюто, външният му вид може да се промени, привличайки вниманието на потребителя. Можете да създадете такъв ефект, като използвате псевдокласа: hover.

    Нека се върнем към примера за вертикално меню, обсъден по-рано, и да добавим следното правило към листа със стилове:

    #navbar a:hover ( background-color: #666; border-left: 5px solid #3333FF; ) Опитайте »

    Хоризонтално меню

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

    Хоризонтално меню може да бъде създадено чрез оформяне на обикновен списък. Показване на свойство за елементи

  • трябва да присвоите стойността в линия, така че елементите от списъка да са разположени един след друг.

    За да поставите елементи от менюто хоризонтално, първо създайте списък с водещи символи с връзки:

    Нека напишем няколко правила за нашия списък, които нулират стила по подразбиране, използван за списъци, и предефинират елементите в списъка от блокови към вградени:

    #navbar ( margin: 0; padding: 0; list-style-type: none; ) #navbar li ( display: inline; ) Опитайте »

    Сега всичко, което трябва да направим, е да дефинираме стила за нашето хоризонтално меню:

    #navbar ( margin: 0; padding: 0; list-style-type: none; border: 2px solid #0066FF; border-radius: 20px 5px; width: 550px; text-align: center; background-color: #33ADFF; ) #navbar a (цвят: #fff; padding: 5px 10px; text-decoration: none; font-weight: bold; display: inline-block; width: 100px; ) #navbar a:hover ( border-radius: 20px 5px ; цвят на фона: #0066FF ) Опитайте »

    Падащо меню

    Менюто, което ще създадем, ще има основни връзки за навигация, разположени в хоризонталната лента за навигация, и под-елементи, които ще се появяват само когато курсорът на мишката се задържи над елемента от менюто, за който се отнасят тези под-елементи.

    Първо трябва да създадем HTML структурата на нашето меню. Ще поставим основните връзки за навигация в списък с водещи символи:

    Ще поставим под-елементите в отделен списък, като го вложим в елемента

  • , който съдържа родителската връзка относно под-елементите. Сега имаме ясна структура за нашата бъдеща навигационна лента:

    Опитайте »

    Сега нека започнем да пишем CSS код. Първо, трябва да скриете списъка с под-елементи, като използвате декларацията display: none, така че да не се показват на уеб страницата през цялото време. За да покажем под-елементи, имаме нужда от това, когато задържим курсора на мишката върху елемент

  • списъкът отново е преобразуван в блоков елемент:

    #navbar ul ( дисплей: няма; ) #navbar li:hover ul ( дисплей: блок; )

    Премахваме отстъпите и маркерите по подразбиране и от двата списъка. Ние правим списъчни елементи с навигационни връзки плаващи, образувайки хоризонтално меню, но за списъчни елементи, съдържащи под-елементи, задаваме float: none; така че да изглеждат един под друг.

    #navbar, #navbar ul ( margin: 0; padding: 0; list-style-type: none; ) #navbar li ( float: left; ) #navbar ul li ( float: none; )

    След това трябва да се уверим, че нашето падащо подменю не избутва съдържанието под лентата за навигация надолу. За да направим това, ще зададем позициите на списъка: относителна; , и списък, съдържащ подпозиции позиция: абсолютна; и добавете горно свойство със стойност 100%, така че абсолютно позиционираното подменю да се показва точно под връзката.

    #navbar ul ( дисплей: няма; позиция: абсолютна; горна: 100%; ) #navbar li ( float: ляво; позиция: относителна; ) #navbar ( височина: 30px; ) Опитайте »

    Височината за родителския списък беше добавена нарочно, тъй като браузърите не считат плаващото съдържание за съдържание на елемент, без добавяне на височина нашият списък ще бъде игнориран от браузъра и съдържанието след списъка ще се увива около нашето меню.

    Сега просто трябва да стилизираме двата ни списъка и падащото меню ще е готово:

    #navbar ul ( дисплей: няма; цвят на фона: #f90; позиция: абсолютна; горна: 100%; ) #navbar li: hover ul ( дисплей: блок; ) #navbar, #navbar ul ( поле: 0; подложка: 0; list-style: none;) #navbar (височина: 30px; background-color: #666; padding-left: 25px; min-width: 470px; ) #navbar li (float: left; position: relative; височина: 100%;) #navbar li a ( display: block; padding: 6px; width: #fff; text-decoration: none; text-align: center; ) #navbar ul li (float: none; ) #navbar li:hover (фонов цвят: #f90; ) #navbar ul li:hover (фонов цвят: #666; )

    За лесна навигация из сайта се използва меню на всички страници, за да може потребителят да разбере какво и къде имате. Почти винаги в горната част на страницата (в хедъра) има хоризонтално меню за раздели (категории) на сайта, а вертикално меню е изписано в лентата на сайта (в колона) и служи за навигация през статиите.

    От статията ще разберете как да направите меню за html уебсайт, какво ще трябва да напишете за това, за да получите хоризонтално и вертикално меню в css или меню с падащ списък.

    За да направим меню (всякакъв вид), ще използваме списък с водещи символи, към който директно ще прикрепим собствен клас и ще напишем нашите параметри за този клас с необходимите стойности.

    Например, за да създадем меню, използваме списък с class class="menu" (всяко име на клас, само латински букви), а html кодът ще изглежда така:

    .menu ( margin: 0; padding: 0; list-style-type: none; )

    В стила за менюто посочих необходимите свойства с необходимите стойности:

    Задължителни CSS параметри и стойности

    • марж: 0;
    • - премахнете всички отстъпи в списъка, в противен случай браузърът ще замени стойностите по подразбиране от 20px;

    list-style-type: няма;

    - премахнете маркерите от елементите на менюто, в противен случай браузърът ще добави точки или числа.

    Ето как се създава меню на html страници, а сега нека да преминем към създаването на хоризонтално меню и да разгледаме всичко с примери.

    Как да направите хоризонтално меню с CSS

    За да покажем хоризонтално меню с помощта на списък, просто трябва да добавим само един параметър към горния код: display: inline; така че елементите на менюто да са подравнени на един ред и да следват един след друг хоризонтално. Също така ще добавим подложка между елементите на менюто, като използваме margin.

    Имаме готово хоризонтално меню, остава само да му придадем красив външен вид.

    Нека да дадем на всеки елемент в хоризонталното меню гранична рамка и да го направим със скосени ръбове, да го запълним с определен цвят на фона (добавете фон за елемента от менюто) и да променим външния вид на връзката.

    .menu-2 ( margin: 0; padding: 0; height: auto; list-style-type: none; background-color: #6699ff; text-align: center; ) .menu-2 li ( margin: 8px 10px 8px 0; подложка: 2px плътен #071eb9; преход: всички 0,7 пиксела; декорация на текста: няма; .menu-2 цвят на фона: #ccc; радиус на границата: 20px 1px) .menu-2 li: hover a (color: #0e25c0;)

    Хоризонталното меню ще се покаже така:

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

    И за по-голяма яснота направих елементите от менюто центрирани с помощта на свойството text-align: center; , който може да бъде премахнат (автоматично подравнен вляво) или зададен на подравняване на текст: вдясно;

    и хоризонталното меню ще се появи в десния край.

    Между другото, можете също да използвате, което можете да видите там със собствените си очи и да изтеглите безплатно.

    Как да направите вертикално меню с CSS

    Вертикалното меню в CSS се прави и проектира на страницата почти по същия начин като хоризонталното, само че тук се променя в .menu-2 li (... параметър със стойността на дисплея: блок; (показва блоков елемент ), което му дава вертикално показване на елементи от менюто.

    И още едно допълнение към вертикалното меню: тъй като в повечето случаи то се намира в страничната колона на сайта, която е с фиксирана ширина, сме принудени да зададем ширината на width: 100%;

    .saitbar ( margin: 0 auto; padding: 0; width: 240px; ) .menu-3 ( margin: 0; padding: 0; background-color: #999; height: auto; list-style-type: none; ) .menu-3 li ( margin: 0 0 2px; padding: 0; background-color: #990000; border-left: 26px solid #273ed9; преход: всички 0.7s улесняват 0s; display: block; ) .menu-3 a ( подложка: 6px 0 8px 10px; цвят: #f2f2f2; text-decoration: none; border-left: 6px solid #5269ff; преход: всички 0.7s улесняват 0s; display: block; ) .menu-3 li:hover ( фон -color: #ccc;) .menu-3 li:hover a ( цвят: #0e25c0; подложка: 6px 0 8px 22px; border-left: 6px solid #900000; )

    Ето как ще се появи вертикалното меню на страницата:

    Бъдете внимателни!
    Написах го за вертикално меню вместо странична колона на сайта, така че ще го изтриете и ще изтриете същото в края на кода.

    Как да направите падащо меню с CSS

    Създаването на падащо меню с помощта на CSS е доста лесно. Просто ще добавим няколко параметъра към съществуващия код за вертикалното меню, което ще отговаря за падащия списък с елементи от менюто.

    Не забравяйте да запомните!
    За да може падащото меню да се показва стриктно срещу водещата връзка, трябва да напишете position: relative; в CSS за тага li, където се намира тази връзка. , а за падащото меню позиция: абсолютно;

    Нека напишем html кода за падащото меню в CSS.

    .saitbar ( марж: 0 автоматично; подложка: 0; ширина: 240px; ) .menu-4, .menu-4 .podmenu, .menu-4 .podmenu-2 ( марж: 0; подложка: 0; цвят на фона: #999; височина: автоматичен; .menu-4 li ( margin: 0 0 2px; padding: #990000; border-left: 26px solid #273ed9; transformation: all 0.7s облекчаване 0s; дисплей: блок; позиция: относителна) .menu-4 (padding: 6px 0 8px 10px; color: #f2f2f2; text-decoration: none; border-left: 6px solid #5269ff; transformation: all 0.7 s ease 0s; display: block;) .menu-4 li:hover (background-color: #ccc;) .menu-4 li:hover a (color: #0e25c0; padding: 6px 0 8px 22px; border- left: 6px solid #900000; ) .menu-4 ul.podmenu, .menu-4 ul.podmenu-2 ( display: none; position: absolute; top: 0; width: 150px; background-color: #ccc; ) .menu -4 ul.podmenu ( ляво: 214px; ) .menu-4 ul.podmenu-2 ( ляво: 150px; ) .menu-4 li:hover .podmenu, .podmenu li:hover .podmenu-2 ( display: block; подложка: 4px 0 4px 14px;

    Трети елемент от менюто ⇒

    Вижте как ще изглежда на страницата падащо меню, използващо CSS.

    Падащото меню е написано по абсолютно същия начин за хоризонтални навигационни оформления. Единственото нещо е, не забравяйте да промените стойностите на параметрите отгоре и отляво (горен и ляв отстъп).
    Вижте!

    Как само с 3 промени в CSS нашето вертикално навигационно оформление с падащо меню се превърна в хоризонтално навигационно оформление с падащо меню.

    • CSS промени за падащото меню
    • Замяна в .saitbar - ширина: 240px;
    • на ширина: 100%;
    • Замяна в .menu-4 li - дисплей: блок;
    на дисплея: inline-block;

    Още веднъж се обръщам към темата за създаване на навигация за сайт, използвайки изключително . Почти всички съвременни браузъри поддържат основни функции, което ви позволява по-гъвкаво да персонализирате ефектите и външния вид на навигационните ленти, без да свързвате javascript или допълнителни файлове с изображения, като използвате само команди.
    Днес ще разгледаме структурата и техниката на изпълнение на навигационно меню с падащи под-елементи. Ще украсим външния вид на панела с помощта на , ще закръглим ъглите и ще добавим малко сянка за шрифта.

    Както обикновено, както винаги, за начало можете да видите пример за това как работи готово падащо меню на демонстрационната страница, а за допълнителен анализ на изпълнявания код изтеглете изходния код.

    HTML маркиране

    Оформих цялата структура на менюто под формата на неподреден списък, като го поставих в блок div със специфичен клас „menu-nav“ за обвързване към .

    < div class = "menu-nav" > < ul> < li class = "first" >< a href= "#" >Начало< li>< a href= "#" >Уроци< ul> < li>< a href= "#" >HTML/CSS< li>< a href= "#" >Photoshop< li>< a href= "#" >Dreamweaver< li>< a href= "#" >Светкавица< li>< a href= "#" >видео< ul> < li>< a href= "#" >Youtube< li>< a href= "#" >Vimeo< li>< a href= "#" >Rutube< li>< a href= "#" >Програми< ul> < li>< a href= "#" >система< li>< a href= "#" >Безопасност< li>< a href= "#" >Мултимедия< li>< a href= "#" >Интернет< li>< a href= "#" >Онлайн< ul> < li>< a href= "#" >Услуги< li>< a href= "#" >Wordpress< ul> < li>< a href= "#" >Плъгини< li>< a href= "#" >WP теми< li>< a href= "#" >Относно сайта< li>< a href= "#" >Контакти

    • Начало
    • Уроци
      • HTML/CSS
      • Photoshop
      • Dreamweaver
      • Светкавица
    • видео
      • Youtube
      • Vimeo
      • Rutube
    • Програми
      • система
      • Безопасност
      • Мултимедия
      • Интернет
    • Онлайн
      • Услуги
    • Wordpress
      • Плъгини
      • WP теми
    • Относно сайта
    • Новини

    Както можете да видите от примера с код, за да създам падащи панели, добавих друго малко парче прост код към някои елементи от менюто, за да създам неподреден списък:

    Сега можете да добавяте падащи списъци към всеки елемент от главното меню. Ако погледнете кода по-долу, ще видите как към елемента от менюто (4) е добавен падащ списък с под-елементи:

    < ul> < li>Точка 1< li>Точка 2< li>Точка 3< li>Точка 4< ul> < li>Подточка 1< li>алинея 2< li>Подточка 3< li>Подточка 4

    • Точка 1
    • Точка 2
    • Точка 3
    • Точка 4
      • Подточка 1
      • алинея 2
      • Подточка 3
      • Подточка 4

    Без CSS стил, целият този дизайн ще изглежда просто като списък. Нека видим как да проектираме нашето падащо меню с помощта на CSS.

    CSS

    Ние използваме CSS, за да стилизираме външния вид и функционалността на нашето меню. Първото нещо, което трябва да направите, е да създадете CSS файл, да го наименувате и да го запишете във формат като: style.css.

    Забележка: Уверете се, че сте поставили следния код в главата на вашия HTML документ, между таговете ....., за да извикате CSS файла:

    < link rel= "stylesheet" type= "text/css" href= "style.css" />

    Сега, след като имате файл style.css, можем да започнем да добавяме стилове и да експериментираме с опции и функции. За по-голяма яснота добавих коментари към някои от параметрите на CSS кода:

    /*Основа*/ * (марж: 0; подложка: 0;) тяло( семейство шрифтове: Helvetica, Arial, sans-serif; размер на шрифта: 14px; фон: #474747 url(bg.png); ) #контейнер (ширина: 960px; /*Ширина на контейнера*/ margin: 10px автоматично; ) /*Меню*/ . menu-nav ( позиция: относителна; ширина: 100%; /*Ширина на лентата с менюта*/ височина: 50px; размер на шрифта: 14px; цвят: #999; margin: 0 auto; margin-top: 20px; /*Цвят и фонов градиент на лентата с менюта*/ фон: - moz- линеен градиент (отгоре, #647db5, #395593); до (#395593)); border: 1px solid #444; /*Заоблени ъгли на лентата с менюта*/ border- radius: 8px - moz- border- radius: 8px; menu-nav ul (списък- стил: няма; цвят: #FFF; ) . menu- nav ul li ( float: ляво; позиция: относителна; ) . menu- nav ul li a ( border- дясно: 1px solid #364f87; border- left: 1px solid #7189c0; padding: 17px; display: block; text-decoration: none; text- align: center; color: #FFF; фон: #395593; фон: - moz- линеен градиент (отгоре, #647db5, #395593); ; фоново изображение: - o- линеен градиент (отгоре, rgb (100, 125, 181) , rgb (57, 85, 147) ) ; меню- навли. първо a ( радиус на границата: 8px 0 0 8px; - moz- радиус на границата: 8px 0 0 8px; - khtml- радиус на границата: 8px 0 0 8px; - webkit- радиус на границата: 8px 0 0 8px; ) / *Цвят на фона и градиент при задържане*/ . menu- nav ul li a: hover (фон: #647db5; фон: - moz- линеен- градиент(отгоре, #395593, #647db5); фон: - webkit- градиент(линеен, ляво горе, ляво долу, от(#) 395593), до (#647db5)); menu- nav ul li ul ( дисплей: няма; ) . menu- nav ul li: hover ul ( display: block; position: absolute; min- width: 200px; left: 0; margin- top: - 1px; ) . menu- nav ul li: hover ul li a ( display: block; color: #ffffff; width: 110px; text- align: center; border- bottom: 1px solid #283f74; border- top: 1px solid #366ea6; background: #364f87 ) . menu- nav ul li ul li: първо дете a ( border- top: none; ) . menu- nav ul li ul li: last- child a ( border- bottom- left- radius: 5px; border- bottom- right- radius: 5px; - moz- border- radius- bottomleft: 5px; - moz- border- radius - долу вдясно: 5px; - webkit- граница- долу- вдясно- радиус: 5px; menu- nav ul li: hover ul li a: hover ( фон: #395593; цвят: #ffffff; )

    /*Основа*/ * (поле: 0; подложка: 0;) тяло( семейство шрифтове:Helvetica,Arial, sans-serif; размер на шрифта:14px; фон: #474747 url(bg.png); ) #контейнер ( ширина:960px; /*Ширина на контейнера*/ марж: 10px автоматично; ) /*Меню*/ .menu-nav (позиция:относителна; ширина: 100%; /*Ширина на лентата с менюта*/ височина:50px; размер на шрифта :14px; margin-top: 20px /фон на лентата на менюто: #395593; от (#647db5), до (#395593)); 0 -1px 0 #444; заоблени ъгли на лентата с менюта: 8px; -webkit-border-radius: 8px; menu-nav ul (list-style:none; цвят: #FFF;) .menu-nav li (float:left; position:relative; .menu-nav ul li a (border-right:1px solid #364f87;

    това е всичко След като поставите кода по-горе във вашия лист със стилове, вашето падащо меню ще бъде напълно стилизирано и готово за работа. Когато използвате чист CSS3, имайте предвид, че не всички браузъри поддържат еднакво добре новите стандарти. Например в по-старите версии на IE това меню ще изглежда малко по-различно, въпреки че това „спирачки при напредък“ има свои собствени патерици))).

    С най-добри пожелания, Андрей

    Навигационното меню е доста прост дизайнерски елемент. Създаваме неподреден списък, задаваме стила му на ляво изместване и оформяме външния му вид. Но адаптивният дизайн, който набира популярност, поставя нови изисквания към менюто.

    В този урок ще създадем просто, но ефективно адаптивно меню, което е много лесно за персонализиране за използване във всеки проект.

    Добавяне на списък

    Нека добавим прост неподреден списък с осем връзки. Демонстрацията на урока е много чувствителна към броя на елементите от менюто, а именно всички настройки се правят за осем елемента.

    • RUSELLER
    • Контакти
    • клиенти
    • Работи
    • аудио
    • Изтегляне
    • Блог
    • Контакт

    Добавяне на подписи

    За да направим менюто по-интересно и полезно, нека добавим ред текст под надписа на главното меню. Има много начини за решаване на такъв прост проблем. В нашия урок ние просто вмъкваме нов ред и добавяме малък елемент за втория ред. По този начин можем да стилизираме надписа, без да използваме допълнителни div, класове и идентификатори.

    • RUSELLER
      Начало
    • Контакти
      Нашият екип
    • клиенти
      Нашите приятели
    • Работи
      Нашата работа
    • аудио
      Чуйте ни
    • Изтегляне
      полезно
    • Блог
      Прочетете за нас
    • Контакт
      Пишете ни

    Ето как ще изглежда нашето меню след извършените операции:

    Нека започнем да дефинираме стилове

    Ще започнем CSS кода, като използваме универсален селектор за нулиране на полета и подложки и присвояване на свойството box-sizing: border-box на всички елементи на страницата. Тази стъпка ще ни помогне лесно да зададем размерите на елементите в проценти, дори когато използваме рамки.

    * (padding: 0; margin: 0; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; )

    Преди да започнем да дефинираме стилове на елементи, нека зададем набор от свойства за родителския елемент. Първо, нека зададем ширината му на 90%. Сега нашият контейнер ще се разтегне, за да покрие цялото налично пространство, но ще остане място за образуване на свободна зона в дизайна. Също така ще поставим контейнера в центъра, като използваме автоматично определяне на размерите на полетата.

    Ще стилизираме и неподредения списък, за да избегнем използването на етикети.

    Стилове на менюто

    Сега нека започнем да дефинираме стилове за елементи от менюто.

    Nav li a ( display: block; float: left; width: 12.5%; padding: 10px; background: #444; border-right: 1px solid #fff; цвят: #fff; шрифт: 700 13px/1.4 "PT Serif" , Helvetica, Verdana, sans-serif; text-decoration: none; text-transform: uppercase ) /*МАЛЪК ТЕКСТ*/ nav small (цвят: #aaa; шрифт: 100 11px/1 Helvetica, Verdana, Arial, sans -серифна трансформация на текст: няма;

    Първо дефинираме формуляр за всеки елемент от списъка. Ние правим всички връзки блокови елементи, преместваме ги наляво, задаваме ширина и малък отстъп. Получаваме доста голям правоъгълник с ширина 12,5% в резултат на изчисленията 100% / 8 (брой елементи от менюто).

    След това определяме външния вид. Задайте фон и рамка.

    Завършва целия стил за текст на менюто. Използваният шрифт е PT Serif, който можете да намерите на уебсайта Google уеб шрифтове.

    За подписите задайте цвета, премахнете трансформацията с главни букви и използвайте шрифта Helvetica.

    Промени при задържане на мишката върху елемент от менюто

    Когато задържите курсора на мишката върху елемент от менюто, той става по-черен. Трансформацията се използва за създаване на допълнителен ефект.

    Nav li a (фон: #444; граница-дясна: 1px плътен #fff; цвят: #fff; дисплей: блок; плаващ: ляв; шрифт: 700 13px/1.4 "PT Serif", Helvetica, Verdana, Arial, sans- сериф; преобразуване на текста: 12,5%/ -преход на фона 0,5 с; -преход на фона: 0,5 с s лекота; преход: фон 0,5 s лекота) /*АКТИВНО СЪСТОЯНИЕ*/ nav li a:hover (фон: #222; )

    Коригиране на рамката

    Сега нека се заемем с малък визуален дефект в рамката на нашето меню. Всеки артикул има бяла рамка, която служи като разделител. Това означава, че последната точка не се нуждае от рамка. Нека използваме специален псевдоклас.

    /*ГРАНИЦА НА ПОСЛЕДНИЯ ЕЛЕМЕНТ*/ nav li:last-child a ( граница: няма; )

    Картината по-долу показва менюто на специален сив фон, където можете да видите разликата между опциите.

    Направете менюто адаптивно

    Този проект е добър пример между течен и отзивчив дизайн. Менюто ни в момента е с гумен дизайн (ширината се определя в проценти), но не е адаптивен. Ако започнете да намалявате ширината на екрана, менюто ще се превърне в ужасен дизайн:

    За да коригираме ситуацията, ще използваме медийни заявки. Най-добрият начин да намерите точката на приложение на медийна заявка е да тествате.

    1220 пиксела

    Първите проблеми се появяват, когато ширината е около 1200 px. Дългият текст на някои параграфи започва да се разпада, защото няма достатъчно ширина.

    За да коригирате ситуацията, трябва само да промените размера на шрифта:

    @media само екран и (max-width: 1220px), само екран и (max-device-width: 1220px)( nav li a ( шрифт: 700 10px/1.4 "PT Serif", Helvetica, Verdana, Arial, sans-serif ; ) nav small (шрифт: 100 10px/1 Helvetica, Verdana, Arial, sans-serif; ) )

    930 пиксела

    Следващата точка, която се появява при намаляване на размера на екрана, е 930px. Това е мястото, където менюто се разбива повече.

    В допълнение към коригирането на размера на шрифта е необходимо да се престрои менюто в два реда.

    @media only screen and (max-width: 930px), only screen and (max-device-width: 930px)( nav li a ( width: 25%; border-bottom: 1px solid #fff; font: 700 11px/1.4 "PT Serif", Helvetica, Verdana, Arial, sans-serif; ) nav li:last-child a, nav li:nth-child(4) a (border-right: none; ) nav li:nth-child(5) ) a, nav li:nth-child(6) a, nav li:nth-child(7) a, nav li:nth-child(8) a ( border-bottom: none; ) )

    580px и 320px

    Двуредовият формат работи добре до ширина на екрана под 600 пиксела и след това също се изкривява.

    Тук пренареждаме дизайна на менюто в две колони с четири реда. А за размери на екрана, по-малки от 320px, трябва също да намалите размера на шрифта.

    @media only screen and (max-width: 580px), само screen and (max-device-width: 580px)( nav li a ( width: 50%; font: 700 12px/1.4 "PT Serif", Helvetica, Verdana, Arial, sans-serif; padding-top: 12px nav li:nth-child(even) a (border-right: none; ) nav li:nth-child(5) a, nav li:nth-child(6) a ( border-bottom: 1px solid #fff; ) ) @media only screen and (max-width: 320px), само screen and (max-device-width: 320px)( nav li a ( шрифт: 700 11px/1.4 " PT Serif", Helvetica, Verdana, Arial, sans-serif) )

    Сега нашето меню ще се адаптира към размера на екрана.

    Заключение

    Изграждането на адаптиран дизайн е доста трудоемък процес. Много време се отделя за внимателно тестване и избор на стойности.

    Хабр, здравей!

    В Codepen се появяват много добри решения от различни специалисти и смятам, че най-добрите от тях трябва да бъдат събрани на едно място. Затова преди 2 години започнах да записвам на компютъра си интересни скриптове на различни теми.

    Преди ги публикувах в продуктовата група mr cloud IDE. Gefest, това бяха сборки от 5-8 решения. Но сега започнах да натрупвам 15-30 скрипта в различни теми (бутони, менюта, подсказки и т.н.).

    Такива големи комплекти трябва да се показват на повече специалисти. Затова ги публикувам в Хабр. Надявам се да са ви полезни.

    В този преглед ще разгледаме многостепенни менюта.

    Плоска хоризонтална навигация

    Красива навигационна лента с плавно появяващи се подменюта. Кодът е добре структуриран и използва js. Съдейки по използваните функции, работи в ie8+.
    http://codepen.io/andytran/pen/kmAEy

    Заглавие за навигация на материал с подравнени падащи менюта

    Адаптивна лента за връзки с подменю с две колони. Всичко е направено в css и html. Използвани css3 селектори, които не се поддържат в ie8.
    http://codepen.io/colewaldrip/pen/KpRwgQ

    Падащо меню Smooth Accordion

    Стилно вертикално меню с плавно отварящи се елементи. Използва се преход, преобразуване js код.
    http://codepen.io/fainder/pen/AydHJ

    Чист CSS Тъмно вградено меню за навигация

    Тъмна вертикална навигационна лента с икони от ionicons. Използва се JavaScript. В ie8 най-вероятно ще работи без анимация.
    http://codepen.io/3lv3n_snip3r/pen/XbddOO

    Чисто CSS3 мега падащо меню с анимация

    Стилно меню с два изходни формата: хоризонтален и вертикален. Използват се икони и CSS3 анимация. Определено ще изглежда ужасно в ie8, но в други браузъри всичко е готино.
    Вертикална връзка: http://codepen.io/rizky_k_r/full/sqcAn/
    Връзка към хоризонтала: http://codepen.io/rizky_k_r/pen/xFjqs

    CSS3 падащо меню

    Хоризонтално меню с големи елементи и падащ списък с връзки. Чист и минималистичен код без js.
    http://codepen.io/ojbravo/pen/tIacg

    Обикновено падащо меню с чист CSS

    Просто, но стилно хоризонтално меню. Използва font-awesome. Всичко работи на css и html, без js. Ще работи в ie8.
    http://codepen.io/Responsive/pen/raNrEW

    Bootstrap 3 мега-падащо меню

    Отлично решение за онлайн магазини. Показва няколко нива на категории и големи изображения (например продукт в разпродажба). Базиран е на boostrap 3.
    http://codepen.io/organizedchaos/full/rwlhd/

    Плоска навигация

    Стилна навигационна лента с гладко подменю. В по-старите браузъри ще показва проблеми.
    http://codepen.io/andytran/pen/YPvQQN

    3D вложена навигация

    Хоризонтално меню с много яка анимация без js!
    http://codepen.io/devilishalchemist/pen/wBGVor

    Отзивчиво мега меню - навигация

    Хоризонтално адаптивно меню. Изглежда добре, но мобилната версия малко куца. Използват се CSS, html и js.
    http://codepen.io/samiralley/pen/xvFdc

    Чисто Css3 меню

    Оригинално меню. С прост и чист код без js. Използвайте за "уау" ефекти.
    http://codepen.io/Sonick/pen/xJagi

    Пълно CSS3 падащо меню

    Цветно падащо меню с едно ниво на влагане. Използвани са икони от font-awesome, html и css.
    http://codepen.io/daniesy/pen/pfxFi

    Падащо меню само за Css3

    Доста добро хоризонтално меню с три нива на влагане. Работи без js.
    http://codepen.io/riogrande/pen/ahBrb

    Падащи менюта

    Минималистично меню с оригиналния ефект на появяващ се вложен списък от елементи. Радвам се, че това решение също е без javascript.
    http://codepen.io/kkrueger/pen/qfoLa

    Чист CSS падащо меню

    Примитивно, но ефективно решение. Само css и html.
    http://codepen.io/andornagy/pen/xhiJH

    Издърпайте меню - Концепция за взаимодействие с менюто

    Интересна концепция на менюто за мобилен телефон. Никога преди не съм виждал нещо подобно. Използва html, css и javascript.
    http://codepen.io/fbrz/pen/bNdMwZ

    Направете просто падащо меню

    Чист и прост код, без js. Определено ще работи в ie8.
    http://codepen.io/nyekrip/pen/pJoYgb

    Чисто CSS падащо меню

    Решението не е лошо, но използва твърде много класове. Радвам се, че няма js.
    http://codepen.io/jonathlee/pen/mJMzgR

    Падащо меню

    Хубаво вертикално меню с минимален javascript код. JQuery не се използва!
    http://codepen.io/MeredithU/pen/GAinq

    CSS 3 падащо меню

    Хоризонталното меню с допълнителни надписи може да украси добре вашия уебсайт. Кодът е прост и ясен. Javascript не се използва.
    http://codepen.io/ibeeback/pen/qdEZjR

    Красиво решение с много код (html, css и js). Създадени са 3 формата на подменюто. Решението е много подходящо за онлайн магазини.
    http://codepen.io/martinridgway/pen/KVdKQJ

    CSS3 падащи менюта (специално решение)!

    Тъмно хоризонтално меню с тринадесет (13) опции за анимация! Определено ви съветвам да го прочетете, ще ви бъде полезно в ежедневието.
    http://codepen.io/cmcg/pen/ofFiz

    P.S.
    Надявам се, че сте харесали колекцията от 23 решения. Ако искате да продължите да ги четете, попълнете анкетата по-долу.
    Насладете се на работата си всички.



  •  


    Прочетете:



    Процес на рестартиране на браузъра Firefox

    Процес на рестартиране на браузъра Firefox

    Повечето проблеми с Firefox могат да бъдат коригирани, като следвате методите за отстраняване на неизправности, описани по-долу. Опитайте тези стъпки в ред. Ако някой не работи,...

    Безплатно нулиране на нивото на мастилото в принтери Epson L100, L110, L210, L300, L350, L355, L550, L555, L800

    Безплатно нулиране на нивото на мастилото в принтери Epson L100, L110, L210, L300, L350, L355, L550, L555, L800

    Безплатно нулиране на нивото на мастилото за принтери Epson L110, L210, L300, L350, L355, L550, L555.

    VK руската версия на моята страница

    VK руската версия на моята страница

    Социалната мрежа Vkontakte моята страница днес е един от най-популярните интернет ресурси в света, да не говорим за Русия и Украйна. тя...

    Форматиране на SD и microSD карти с памет: защо е необходимо и как да го направите

    Форматиране на SD и microSD карти с памет: защо е необходимо и как да го направите

    Бърза и безопасна помощна програма за форматиране на SD, SDHC и SDXC карти с памет. Програмата поддържа и работа с други видове външни...

    feed-image RSS