6.1 Атрибут class и тег style

Но и это еще не все. После того как были придуманы сотни «стилей», встал вопрос: как их использовать? И тогда придумали их группировать в «классы». Это, конечно, не такие классы как в Java. Просто специальные группы стилей.

И если до использования «классов» у тебя была картинка:


       <img src="logo.png" style="width=100px;height=100px;opacity=0.5">
    

То теперь ее можно было записать в виде:



<img src="logo.png" class="picture">
 
<style>
    img.picture {
        width=100px;
        height=100px;
        opacity=0.5
    }
</style>

Мы создали специальный «стиль» picture и перенесли в него значения стилей из атрибута style. А потом связали <img> и «стиль» picture с помощью тега class.

6.2 Селектор, виды селекторов

Эти стили, вынесенные отдельно, стали называть классами или селекторами. У них есть несколько важных особенностей.

У одного html-элемента может быть несколько селекторов. Их названия указываются через пробел. Пример:


       <img src="logo.png" class="picture main">
    

Одна из причин почему мы тут затронули селекторы, – это то, что они могут применяться автоматически. И это их полезное свойство в дальнейшем будет очень часто использоваться. В том числе, и Java-разработчиками.

Вот их краткий список:

# Селектор Пример Описание
1 *
* {
  margin: 0;
  padding: 0;
}
Применяется ко всем элементам HTML-документа.
2 #id
#img123 {
   width:100px;
   height 100px;
}
После # следует id элемента, к которому нужно применить данных стиль.
3 tag
table {
   color: black;
}
Применяется ко всем таблицам документа.
4 tag.selector
table.important {
   color: red;
}
Применяется ко всем таблицам документа, у которых указан в атрибуте class.
5 .selector
.picture {
  opacity: 0.5
}
Применяется ко всем элементам, у которых указан в атрибуте class. Любой tag.
6 parent child
.main .article {
  color: blue;
}
Применяется ко всем элементам, у которых тег родитель содержит класс main, а дочерний тег содержит класс article.
7 tag:link
a:link {
color: blue;
}
Псевдокласс :link используется для стилизации ссылок, на которые пользователь ещё не нажимал.
8 tag:visited
a:visited {
color: red;
}
Псевдокласс :link используется для стилизации ссылок, на которые пользователь уже нажимал.
9 tag:checked
input[type=radio]:checked {
 border: 1px solid black;
}
Данный псевдокласс выберет только отмеченные элементы пользовательского интерфейса: радиокнопки или чекбоксы.
10 tag:hover
div:hover {
  background: red;
}
Данный псевдокласс позволяет изменить стиль элемента при наведении на него мышкой.
11 tag:first-child
ul li:first-child {
 border-top: none;
}
Этот псевдокласс позволит выбрать только первый дочерний элемент.

Тебе не нужно все это запоминать. Но хорошобы, чтоб ты изучил эту таблицу пару раз и все это у тебя в голове отложилось. Без веба в современной жизни никуда, а в вебе – никуда без селекторов.


HTML + CSS