<MyRusakov.ru />

Вёрстка сайта с нуля

Вёрстка сайта с нуля

Это уникальная информация по созданию страниц любой сложности. Вы узнаете всё, что нужно по HTML и CSS, а также увидите множество примеров по вёрстке страниц. А также почти к каждому уроку идут упражнения для закрепления материала, поэтому в отличном результате можете быть уверены! Пройдя данный курс, Вы сможете верстать страницы с любым по сложности дизайном. Помимо курса, Вы получите Бонус, который расскажет, как заработать на вёрстке сайтов.

Весь курс соткан из практических примеров реальной вёрстки. А также почти к каждому уроку идут упражнения для закрепления материала, поэтому в отличном результате можете быть уверены!

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Адаптивное меню для сайта. Часть 1

Адаптивное меню для сайта. Часть 1

Все веб-разработчики уже давно знают, что сайты надо делать адаптивными, но не все умеют это делать правильно. На этом уроке, вы узнаете как сделать адаптивное меню для сайта.

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

Адаптивное меню для сайта. Часть 1

HTML разметка

Задача понятная, внутри тега section будет находится шапка сайта header, внутри которой блок div с логотипом и навигационная панель nav. Она будет использоваться, как контейнер для меню из маркированных списков ul с пунктами меню-ссылками a.

<section>
   <header>
    <div class="logo">
      <a href="#"><img src="logo.jpg"></a>
    </div>
    <nav>
    <ul>
      <li><a href="#">Главная</a></li>
      <li><a href="#">Поиск</a></li>
      <li><a href="#">Услуги</a></li>
      <li><a href="#">Новости</a></li>
      <li><a href="#">Фотографии</a></li>
      <li><a href="#">Правила</a></li>
    </ul>
    </nav>
  </header>
</section>

Как обычно HTML структура смотрится очень просто - чистый код и ничего лишнего, приятно посмотреть. Однако, если посмотреть на результат в браузере, то возникает желание побыстрее открыть файл стилей и начинать наводить красоту.

Адаптивное меню для сайта. Часть 1

Этим мы с вами сейчас и займемся.


Стилизация секции - section

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

section {
    background: url(bg.jpg);
}

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

background-size: cover;
height: 100vh;

При просмотре на больших мониторах, при недостаточных размерах фотографии, она начнет размножаться. Запретим повтор фона.

background-repeat: no-repeat;

На мобильных телефонах, без выравнивания фона по центру, он может срезаться.

background-position: center center;

Секция подготовлена, в ней мы пропишем стили для шапки.

Адаптивное меню для сайта. Часть 1

Стилизация шапки сайта - header

Немного забежим вперёд и посмотрим из каких блоков будет состоять шапка - это блок div с логотипом и блок навигации nav.

Адаптивное меню для сайта. Часть 1

Как поставить два блока в ряд, ведь в естественном виде блоки стоят друг под другом? Flexbox метод отлично справляется с этой задачей - ставит в ряд и выравнивает относительно контейнера header так, как нам надо.

header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

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

height: 18%;
box-shadow: 0 5px 15px rgba(0,0,0,.2);

Результат работы flexbox-а и появившуюся тень, мы видим ниже.

Адаптивное меню для сайта. Часть 1

Работа с логотипом

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

.logo img {
    margin-left: 2.3em;
}

Следующий код делает логотип адаптивным.

max-width: 100%;

Стилизация меню - ul

Убираем маркеры у пунктов меню.

ul {
    list-style-type: none;
}

Превращаем вертикальное меню в горизонтальное, выравнивая все по центру, применяя flexbox метод. Свойство transition обеспечивает плавную работу hover эффекта, об этом позже.

ul {
    display: flex;
    flex-flow: nowrap;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    transition: .5s;
}

Пункты меню li стоят очень плотно друг к другу и надо поработать со шрифтом и ссылками.

Адаптивное меню для сайта. Часть 1

Зададим поля вокруг пунктов меню.

ul li a {
    padding: 10px 20px;
}

Текст сделаем заглавными буквами и уберем подчеркивание ссылок.

text-transform: uppercase;
text-decoration: none;

Выбираем шрифт потемнее для контраста и делаем его жирным (меня бесит, когда цвет текста сливается с фоновым цветом сайта).

color: #262625;
font-weight: bold;

Создаем простой эффект при наведении и не забываем про плавный переход.

ul li a:hover {
    background: #000;
    color: #fff;
    transition: .5s
}

На следующем уроке мы сделаем наше меню адаптивным, делая медиа-запросы. Смотрите весь код на jsfiddle.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.