Учебник по CSS

ГЛАВНАЯ CSS Введение в CSS Синтаксис CSS Селекторы CSS CSS как сделать CSS-комментарии Цвета CSS CSS-фоны CSS границы CSS поля CSS-заполнение CSS высота/ширина Блочная модель CSS Схема CSS CSS-текст CSS-шрифты CSS-иконки CSS-ссылки CSS-списки CSS-таблицы Отображение CSS Максимальная ширина CSS Позиция CSS CSS Z-индекс CSS переполнение Плавающая CSS Встроенный блок CSS Выравнивание CSS Комбинаторы CSS Псевдокласс CSS CSS-псевдоэлемент Непрозрачность CSS Панель навигации CSS Выпадающие списки CSS Галерея изображений CSS Спрайты изображений CSS Селекторы атрибутов CSS CSS-формы CSS-счетчики CSS макет веб-сайта Единицы CSS Специфика CSS CSS! важно Математические функции CSS

CSS расширенный

CSS закругленные углы Изображения границ CSS CSS-фоны Цвета CSS Цветовые ключевые слова CSS CSS-градиенты CSS-тени Текстовые эффекты CSS Веб-шрифты CSS 2D-преобразования CSS CSS 3D-преобразования CSS-переходы CSS-анимации Подсказки CSS Изображения в стиле CSS Отражение изображения CSS CSS объект-подгонка CSS-позиция объекта Маскировка CSS CSS-кнопки Разбивка на страницы CSS Несколько столбцов CSS Пользовательский интерфейс CSS CSS-переменные Размер блока CSS Медиа-запросы CSS Примеры CSS MQ CSS флексбокс

CSS Отзывчивый

Введение в задний привод Окно просмотра RWD Представление сетки RWD Медиа-запросы RWD Изображения RWD Видео с задним приводом Рамки RWD Шаблоны RWD

CSS -сетка

Введение в сетку Контейнер сетки Элемент сетки

CSS SASS

Учебник по SASS

Примеры CSS

CSS-шаблоны Примеры CSS css викторина CSS-упражнения Сертификат CSS

Ссылки на CSS

Справочник по CSS Селекторы CSS CSS-функции Справочник по CSS Безопасные веб-шрифты CSS CSS анимация Единицы CSS Конвертер CSS PX-EM Цвета CSS Значения цвета CSS Значения CSS по умолчанию Поддержка CSS-браузера

CSS псевдоэлементы


Что такое псевдоэлементы?

Псевдоэлемент CSS используется для стилизации определенных частей элемента.

Например, его можно использовать для:

  • Стиль первой буквы или строки элемента
  • Вставка содержимого до или после содержимого элемента

Синтаксис

Синтаксис псевдоэлементов:

selector::pseudo-element {
  property: value;
}

Псевдоэлемент ::first-line

Псевдоэлемент ::first-lineиспользуется для добавления особого стиля к первой строке текста.

В следующем примере форматируется первая строка текста во всех элементах <p>:

Пример 

p::first-line {
  color: #ff0000;
  font-variant: small-caps;
}

Примечание . ::first-lineПсевдоэлемент можно применять только к элементам блочного уровня.

К псевдоэлементу применяются следующие свойства ::first-line :

  • свойства шрифта
  • свойства цвета
  • свойства фона
  • межсловный интервал
  • Межбуквенное расстояние
  • украшение текста
  • вертикальное выравнивание
  • преобразование текста
  • высота линии
  • чистый

Обратите внимание на нотацию с двойным двоеточием — ::first-line против :first-line

Двойное двоеточие заменило нотацию с одним двоеточием для псевдоэлементов в CSS3. Это была попытка W3C провести различие между псевдоклассами и псевдоэлементами .

Синтаксис с одним двоеточием использовался как для псевдоклассов, так и для псевдоэлементов в CSS2 и CSS1.

В целях обратной совместимости для псевдоэлементов CSS2 и CSS1 допустим синтаксис с одним двоеточием.



Псевдоэлемент ::first-letter

Псевдоэлемент ::first-letterиспользуется для добавления особого стиля к первой букве текста.

В следующем примере форматируется первая буква текста во всех элементах <p>: 

Пример

p::first-letter {
  color: #ff0000;
  font-size: xx-large;
}

Примечание . ::first-letterПсевдоэлемент можно применять только к элементам блочного уровня.

К псевдоэлементу ::first-letter применяются следующие свойства: 

  • свойства шрифта
  • свойства цвета 
  • свойства фона
  • маржинальные свойства
  • свойства заполнения
  • граничные свойства
  • украшение текста
  • вертикальное выравнивание (только если "float" равно "none")
  • преобразование текста
  • высота линии
  • плавать
  • чистый

Псевдоэлементы и классы HTML

Псевдоэлементы можно комбинировать с классами HTML: 

Пример

p.intro::first-letter {
  color: #ff0000;
  font-size: 200%;
}

В приведенном выше примере первая буква абзаца с class="intro" будет отображаться красным цветом и большего размера.


Несколько псевдоэлементов

Также можно комбинировать несколько псевдоэлементов.

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

Пример

p::first-letter {
  color: #ff0000;
  font-size: xx-large;
}

p::first-line {
  color: #0000ff;
  font-variant: small-caps;
}

CSS — Псевдоэлемент ::before

Псевдоэлемент ::beforeможно использовать для вставки содержимого перед содержимым элемента.

В следующем примере изображение вставляется перед содержимым каждого элемента <h1>:

Пример

h1::before {
  content: url(smiley.gif);
}

CSS — Псевдоэлемент ::after

Псевдоэлемент ::afterможно использовать для вставки содержимого после содержимого элемента.

В следующем примере изображение вставляется после содержимого каждого элемента <h1>:

Пример

h1::after {
  content: url(smiley.gif);
}

CSS — Псевдоэлемент ::marker

Псевдоэлемент ::markerвыбирает маркеры элементов списка.

Следующий пример стилизует маркеры элементов списка:

Пример

::marker {
  color: red;
  font-size: 23px;
}

CSS — Псевдоэлемент ::selection

Псевдоэлемент ::selectionсоответствует части элемента, выбранной пользователем.

Следующие свойства CSS могут быть применены к ::selection: color, background, cursorи outline.

В следующем примере выделенный текст отображается красным цветом на желтом фоне:

Пример

::selection {
  color: red;
  background: yellow;
}

Проверьте себя с помощью упражнений

Упражнение:

Установите цвет фона на красный для первой строки абзаца.

<style>
 {
  background-color: red;
}
</style>

<body>

<p class="intro">
In my younger and more vulnerable years
my father gave me some advice that I've
been turning over in my mind ever since.
'Whenever you feel like criticizing anyone,' he told me,
'just remember that all the people in this world
haven't had the advantages that you've had.'
</p>

</body>


Все псевдоэлементы CSS

Selector Example Example description
::after p::after Insert something after the content of each <p> element
::before p::before Insert something before the content of each <p> element
::first-letter p::first-letter Selects the first letter of each <p> element
::first-line p::first-line Selects the first line of each <p> element
::marker ::marker Selects the markers of list items
::selection p::selection Selects the portion of an element that is selected by a user

Все псевдоклассы CSS

Selector Example Example description
:active a:active Selects the active link
:checked input:checked Selects every checked <input> element
:disabled input:disabled Selects every disabled <input> element
:empty p:empty Selects every <p> element that has no children
:enabled input:enabled Selects every enabled <input> element
:first-child p:first-child Selects every <p> elements that is the first child of its parent
:first-of-type p:first-of-type Selects every <p> element that is the first <p> element of its parent
:focus input:focus Selects the <input> element that has focus
:hover a:hover Selects links on mouse over
:in-range input:in-range Selects <input> elements with a value within a specified range
:invalid input:invalid Selects all <input> elements with an invalid value
:lang(language) p:lang(it) Selects every <p> element with a lang attribute value starting with "it"
:last-child p:last-child Selects every <p> elements that is the last child of its parent
:last-of-type p:last-of-type Selects every <p> element that is the last <p> element of its parent
:link a:link Selects all unvisited links
:not(selector) :not(p) Selects every element that is not a <p> element
:nth-child(n) p:nth-child(2) Selects every <p> element that is the second child of its parent
:nth-last-child(n) p:nth-last-child(2) Selects every <p> element that is the second child of its parent, counting from the last child
:nth-last-of-type(n) p:nth-last-of-type(2) Selects every <p> element that is the second <p> element of its parent, counting from the last child
:nth-of-type(n) p:nth-of-type(2) Selects every <p> element that is the second <p> element of its parent
:only-of-type p:only-of-type Selects every <p> element that is the only <p> element of its parent
:only-child p:only-child Selects every <p> element that is the only child of its parent
:optional input:optional Selects <input> elements with no "required" attribute
:out-of-range input:out-of-range Selects <input> elements with a value outside a specified range
:read-only input:read-only Selects <input> elements with a "readonly" attribute specified
:read-write input:read-write Selects <input> elements with no "readonly" attribute
:required input:required Selects <input> elements with a "required" attribute specified
:root root Selects the document's root element
:target #news:target Selects the current active #news element (clicked on a URL containing that anchor name)
:valid input:valid Selects all <input> elements with a valid value
:visited a:visited Selects all visited links