Псевдокласс используется для определения особого состояния. элемента.
Например, его можно использовать для:
Стилизация элемента, когда пользователь наводит на него курсор мыши
Оформляйте посещенные и непосещенные ссылки по-разному.
Оформление элемента, когда он получает фокус
Mouse Over Me
Синтаксис псевдоклассов:
selector:pseudo-class {
property: value;
}Ссылки могут отображаться по-разному:
/* unvisited link */
a:link {
color: #FF0000;
}
/* visited
link */
a:visited {
color: #00FF00;
}
/* mouse over link */
a:hover {
color: #FF00FF;
}
/* selected link */
a:active {
color: #0000FF;
}Попробуйте сами →
<!DOCTYPE html>
<html>
<head>
<style>
/* unvisited link */
a:link {
color: red;
}
/* visited link */
a:visited {
color: green;
}
/* mouse over link */
a:hover {
color: hotpink;
}
/* selected link */
a:active {
color: blue;
}
</style>
</head>
<body>
<h2>Styling a link depending on state</h2>
<p><b><a href="default.asp" target="_blank">This is a link</a></b></p>
<p><b>Note:</b> a:hover MUST come after a:link and a:visited in the CSS definition in order to be effective.</p>
<p><b>Note:</b> a:active MUST come after a:hover in the CSS definition in order to be effective.</p>
</body>
</html>
Примечание: a:hover ДОЛЖЕН идти после a:link и a:visited в определении CSS для большей эффективности! a:active ДОЛЖЕН идти после a:hover в определении CSS для большей эффективности! Имена псевдоклассов не чувствительны к регистру.
Псевдоклассы можно комбинировать с классами HTML:
При наведении курсора на ссылку в примере она поменяет цвет:
a.highlight:hover {
color: #ff0000;
} Попробуйте сами →
<!DOCTYPE html>
<html>
<head>
<style>
a.highlight:hover {
color: #ff0000;
font-size: 22px;
}
</style>
</head>
<body>
<h2>Pseudo-classes and HTML Classes</h2>
<p>When you hover over the first link below, it will change color and font size:</p>
<p><a class="highlight" href="css_syntax.asp">CSS Syntax</a></p>
<p><a href="default.asp">CSS Tutorial</a></p>
</body>
</html>
Пример использования псевдокласса :hover для элемента <div>:
div:hover {
background-color: blue;
}Попробуйте сами →
<!DOCTYPE html>
<html>
<head>
<style>
div {
background-color: green;
color: white;
padding: 25px;
text-align: center;
}
div:hover {
background-color: blue;
}
</style>
</head>
<body>
<p>Mouse over the div element below to change its background color:</p>
<div>Mouse Over Me</div>
</body>
</html>
Наведите указатель мыши на элемент <div>, чтобы отобразить элемент <p> (например, всплывающую подсказку):
Тада! А вот и я!
p {
display: none;
background-color: yellow;
padding: 20px;
}
div:hover p {
display: block;
}Попробуйте сами →
<!DOCTYPE html>
<html>
<head>
<style>
p {
display: none;
background-color: yellow;
padding: 20px;
}
div:hover p {
display: block;
}
</style>
</head>
<body>
<div>Hover over this div element to show the p element
<p>Tada! Here I am!</p>
</div>
</body>
</html>
Псевдокласс :first-child соответствует указанному элементу, который является первым дочерним элементом другого элемента.
В следующем примере селектор соответствует любому элементу <p>, который является первым дочерним элементом любого элемента:
p:first-child
{
color: blue;
}Попробуйте сами →
<!DOCTYPE html>
<html>
<head>
<style>
p:first-child {
color: blue;
}
</style>
</head>
<body>
<p>This is some text.</p>
<p>This is some text.</p>
<div>
<p>This is some text.</p>
<p>This is some text.</p>
</div>
</body>
</html>
В следующем примере селектор соответствует первому элементу <i> во всех элементах <p>:
p i:first-child
{
color: blue;
}Попробуйте сами →
<!DOCTYPE html>
<html>
<head>
<style>
p i:first-child {
color: blue;
}
</style>
</head>
<body>
<p>I am a <i>strong</i> person. I am a <i>strong</i> person.</p>
<p>I am a <i>strong</i> person. I am a <i>strong</i> person.</p>
</body>
</html>
В следующем примере селектор сопоставляет все элементы <i> в элементах <p>, которые являются первым дочерним элементом другого элемента:
p:first-child i
{
color: blue;
}Попробуйте сами →
<!DOCTYPE html>
<html>
<head>
<style>
p:first-child i {
color: blue;
}
</style>
</head>
<body>
<p>I am a <i>strong</i> person. I am a <i>strong</i> person.</p>
<p>I am a <i>strong</i> person. I am a <i>strong</i> person.</p>
<div>
<p>I am a <i>strong</i> person. I am a <i>strong</i> person.</p>
<p>I am a <i>strong</i> person. I am a <i>strong</i> person.</p>
</div>
</body>
</html>
Псевдокласс :lang позволяет определять специальные правила для разных языков.
В приведенном ниже примере :lang определяет кавычки для элементов с lang="no":
<html>
<head>
<style>
q:lang(no) {
quotes: "~" "~";
}
</style>
</head>
<body>
<p>Some text <q lang="no">A quote in a paragraph</q>
Some text.</p>
</body>
</html>Попробуйте сами →
<!DOCTYPE html>
<html>
<head>
<style>
q:lang(no) {
quotes: "~" "~";
}
</style>
</head>
<body>
<p>Some text <q lang="no">A quote in a paragraph</q> Some text.</p>
<p>In this example, :lang defines the quotation marks for q elements with lang="no":</p>
</body>
</html>
Добавляйте разные стили к гиперссылкам
<!DOCTYPE html>
<html>
<head>
<style>
a.one:link {color:#ff0000;}
a.one:visited {color:#0000ff;}
a.one:hover {color:#ffcc00;}
a.two:link {color:#ff0000;}
a.two:visited {color:#0000ff;}
a.two:hover {font-size:150%;}
a.three:link {color:#ff0000;}
a.three:visited {color:#0000ff;}
a.three:hover {background:#66ff66;}
a.four:link {color:#ff0000;}
a.four:visited {color:#0000ff;}
a.four:hover {font-family:monospace;}
a.five:link {color:#ff0000;text-decoration:none;}
a.five:visited {color:#0000ff;text-decoration:none;}
a.five:hover {text-decoration:underline;}
</style>
</head>
<body>
<h2>Styling Links</h2>
<p>Mouse over the links and watch them change layout:</p>
<p><b><a class="one" href="default.asp" target="_blank">This link changes color</a></b></p>
<p><b><a class="two" href="default.asp" target="_blank">This link changes font-size</a></b></p>
<p><b><a class="three" href="default.asp" target="_blank">This link changes background-color</a></b></p>
<p><b><a class="four" href="default.asp" target="_blank">This link changes font-family</a></b></p>
<p><b><a class="five" href="default.asp" target="_blank">This link changes text-decoration</a></b></p>
</body>
</html>
Использование: фокус
<!DOCTYPE html>
<html>
<head>
<style>
input:focus {
background-color: yellow;
}
</style>
</head>
<body>
<form action="/action_page.php" method="get">
First name: <input type="text" name="fname"><br><br>
Last name: <input type="text" name="lname"><br><br>
<input type="submit" value="Submit">
</form>
</body>
</html>
Пример:
a:active Пример описания:
Выбирает активную ссылку
Пример:
input:checked Пример описания:
Выбирает каждый отмеченный элемент <input>
Пример:
input:disabledПример описания:
Выбирает каждый отключенный элемент <input>
Пример:
p:emptyПример описания:
Выбирает каждый элемент <p>, у которого нет дочерних элементов.
Пример:
input:enabledПример описания:
Выбирает каждый включенный элемент <input>
Пример:
p:first-childПример описания:
Выбирает каждый элемент <p>, который является первым дочерним элементом своего родителя.
Пример:
p:first-of-typeПример описания:
Выбирает каждый элемент <p>, который является первым элементом <p> его родительского элемента.
Пример:
input:focusПример описания:
Выбирает элемент <input>, имеющий фокус.
Пример:
a:hoverПример описания:
Выбирает ссылки при наведении курсора мыши
Пример:
input:in-rangeПример описания:
Выбирает элементы <input> со значением в указанном диапазоне.
Пример:
input:invalidПример описания:
Выбирает все элементы <input> с недопустимым значением.
Пример:
p:lang(it)Пример описания:
Выбирает каждый элемент <p> со значением атрибута lang, начинающимся с «it».
Пример:
p:last-childПример описания:
Выбирает все элементы <p>, которые являются последними дочерними элементами своего родителя.
Пример:
p:last-of-typeПример описания:
Выбирает каждый элемент <p>, который является последним элементом <p> его родительского элемента.
Пример:
a:linkПример описания:
Выбирает все непосещенные ссылки
Пример:
:not(p)Пример описания:
Выбирает каждый элемент, который не является элементом <p>
Пример:
p:nth-child(2)Пример описания:
Выбирает каждый элемент <p>, который является вторым дочерним элементом своего родителя.
Пример:
p:nth-last-child(2)Пример описания:
Выбирает каждый элемент <p>, который является вторым дочерним элементом своего родителя, считая от последнего дочернего элемента.
Пример:
p:nth-last-of-type(2)Пример описания:
Выбирает каждый элемент <p>, который является вторым элементом <p> своего родителя, считая от последнего дочернего элемента.
Пример:
p:nth-of-type(2)Пример описания:
Выбирает каждый элемент <p>, который является вторым элементом <p> его родительского элемента.
Пример:
p:only-of-typeПример описания:
Выбирает каждый элемент <p>, который является единственным элементом <p> его родительского элемента.
Пример:
p:only-childПример описания:
Выбирает каждый элемент <p>, который является единственным дочерним элементом своего родителя.
Пример:
input:optionalПример описания:
Выбирает элементы <input> без «обязательного» атрибута.
Пример:
input:out-of-rangeПример описания:
Выбирает элементы <input> со значением вне указанного диапазона.
Пример:
input:read-onlyПример описания:
Выбирает элементы <input> с указанным атрибутом «только для чтения».
Пример:
input:read-writeПример описания:
Выбирает элементы <input> без атрибута «только для чтения».
Пример:
input:requiredПример описания:
Выбирает элементы <input> с указанным «обязательным» атрибутом.
Пример:
rootПример описания:
Выбирает корневой элемент документа
Пример:
#news:target Пример описания:
Выбирает текущий активный элемент #news (при нажатии на URL-адрес, содержащий это имя привязки)
Пример:
input:validПример описания:
Выбирает все элементы <input> с допустимым значением.
Пример:
a:visitedПример описания:
Выбирает все посещенные ссылки
Пример:
p::afterПример описания:
Вставляйте содержимое после каждого элемента <p>
Пример:
p::before Пример описания:
Вставляйте содержимое перед каждым элементом <p>
Пример:
p::first-letter Пример описания:
Выбирает первую букву каждого элемента <p>
Пример:
p::first-line Пример описания:
Выбирает первую строку каждого элемента <p>
Пример:
::markerПример описания:
Выбирает маркеры элементов списка
Пример:
p::selectionПример описания:
Выбирает часть элемента, выбранную пользователем.