#9 – Работа со списками

#9 – Работа со списками

Язык CSS предоставляет большой набор стилей для HTML тегов. За урок мы научимся работать со списками и из обычного списка сделаем полноценное меню для сайта.

Видеоурок

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

Как сделать меню сайта на CSS?

Ниже представлено меню, которое мы можем создать лишь при помощи CSS и HTML.


Для создания подобного меню вам не потребуются какие-либо особые знания. Для начала давайте рассмотрим сам HTML:

<ul id="navbar">
  <li><a href="#">Главная</a></li>
  <li><a href="#">Новости</a></li>
  <li><a href="#">Контакты</a>
    <ul>
      <li><a href="#">Адрес</a></li>
      <li><a href="#">Телефон</a></li>
      <li><a href="#">Email</a></li>
    </ul>
  </li>
  <li><a href="#">О нас</a></li>
</ul>

Здесь все просто. Есть один список и в нем вложен еще один список, который будет раскрываться при наведении мыши на нужную ячейку меню. Теперь давайте рассмотрим весь CSS код:

#navbar ul{
	display: none;
	background-color: #f90;
	position: absolute;
	top: 100%;
}

#navbar li:hover ul {
	display: block;
}

#navbar, #navbar ul{
	margin: 0;
	padding: 0;
	list-style-type: none;
}

#navbar {
	height: 30px;
	background-color: #666;
	padding-left: 25px;
	min-width: 470px;
}

#navbar li {
	float: left;
	position: relative;
	height: 100%;
}

#navbar li a {
	display: block;
	padding: 6px;
	width: 100px;
	color: #fff;
	text-decoration: none;
	text-align: center;
}

#navbar ul li { float: none; }

#navbar li:hover { background-color: #f90; }

#navbar ul li:hover { background-color: #666; }

Основным моментом здесь является то, что при наведении мыши мы делаем вложенный список блоком: #navbar li:hover ul {display: block}. При помощи дополнительных стилей мы указываем чтобы список был в форме блоков и чтобы у него не было значков списка и прочих стилей. Таким образом у нас получается работающее меню для сайта.

Использование слоев

Представим у нас есть два блока, которые наложены друг на друга. Мы хотим чтобы первый блок был виден поверх второго блока, но как это сделать? Здесь на помощь как раз и приходят слои. Рассмотрим все на примере.


У нас есть два блока, которые расположены следующим образом:



Мы видим, что второй блок просто перекрыл первый блок. На данный момент у нас в коде еще не прописаны слои и выглядит наш CSS код следующим образом:

#first {
	background: #e56868;
	width: 100px;
	height: 100px;
	position: relative;
}

#second {
	background: #6db8e3;
	width: 100px;
	height: 100px;
	position: relative;
	top: -50px;
	right: -50px;
}

Теперь добавим новое свойство к первому блоку: z-index: 1. Поскольку наш второй блок вообще не имеет никакого слоя, то он автоматически равен нулевому слою. Первый блок имеет слой на 1 выше, а значит отображаться он будет поверх второго блока. Важно также отметить, что оба блока должны иметь свойство position: relative. Вот что у нас получилось:



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

Материалы для курса

Чтобы скачивать материалы к видеокурсам необходимо оформить подписку на сайт

Онлайн редактор кода

Загрузка...

Задание к уроку

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

Большое задание по курсу

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

Также стоит посмотреть

Создание сайта с нуля | Полноценная верстка сайта
11 уроков
Вёрстка адаптивного сайта на Bootstrap 4
6 уроков
Изучение HTML5 для начинающих!
18 уроков
Изучение препроцессора SASS / SCSS
7 уроков
Изучение технологии Bootstrap (верстка сайта)
16 уроков
Видеокурс по PHP, MySQL / Создание динамического сайта
Комментарии для сайта Cackle