Перейти к содержанию

content

Свойство content позволяет вставлять генерируемое содержание в текст веб-страницы, которое первоначально в тексте отсутствует.

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

Демо

Списки, счетчики, генерируемый контент

Синтаксис

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/* Keywords that cannot be combined with other values */
content: normal;
content: none;

/* <image> values */
content: url('http://www.example.com/test.png');
content: linear-gradient(#e66465, #9198e5);
content: image-set('image1x.png' 1x, 'image2x.png' 2x);

/* alt text for generated content, added in the Level 3 specification */
content: url('http://www.example.com/test.png') /
    'This is the alt text';

/* <string> value */
content: 'prefix';

/* list of content values */
content: 'prefix' url('http://www.example.com/test.png');
content: 'prefix' url('http://www.example.com/test.png')
    'suffix' / 'This is some alt text';

/* <counter> values, optionally with <list-style-type> */
content: counter(chapter_counter);
content: counter(chapter_counter, upper-roman);
content: counters(section_counter, '.');
content: counters(
    section_counter,
    '.',
    decimal-leading-zero
);

/* attr() value linked to the HTML attribute value */
content: attr(value string);

/* Language- and position-dependent keywords */
content: open-quote;
content: close-quote;
content: no-open-quote;
content: no-close-quote;

/* Except for normal and none, several values can be used simultaneously */
content: open-quote counter(chapter_counter);

/* Global values */
content: inherit;
content: initial;
content: revert;
content: revert-layer;
content: unset;

Значения

<строка>

Текст, который добавляется на веб-страницу, строка при этом должна браться в двойные или одинарные кавычки. Допускается использовать юникод для вставки спецсимволов. Спецсимволы HTML которые начинаются с амперсанда (&sect; например), будут отображаться как есть, т. е. простым текстом (&sect;, а не §).

attr(<атрибут>)

Возвращает строку, которая является значением атрибута тега указанного в скобках. Например, a::after {content:attr(href)} добавит после ссылки её адрес, т. е. значение атрибута href. Если указанного атрибута нет, то вернётся пустая строка.

open-quote

Вставляет открывающую кавычку, тип которой устанавливается с помощью стилевого свойства quotes.

close-quote

Вставляет закрывающую кавычку.

no-open-quote

Отменяет добавление открывающей кавычки.

no-close-quote

Отменяет добавление закрывающей кавычки.

url

Абсолютный или относительный адрес вставляемого объекта. Если указанный файл браузер не может отобразить, то значение игнорируется.

counter

Выводит значение счётчика, заданного свойством counter-reset.

none

Не добавляет никакого содержимого.

normal

Задаётся как none для псевдоэлементов ::before и ::after.

Значение по-умолчанию:

1
content: normal;

Применяется к псевдоэлементам ::before и ::after

Спецификации

Поддержка браузерами

Can I Use css-gencontent? Data on support for the css-gencontent feature across the major browsers from caniuse.com.

Описание и примеры

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<!doctype html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>content</title>
        <style>
            .tag {
                color: navy; /* Цвет текста */
                font-family: monospace; /* Моноширинный шрифт */
                quotes: '<' '>'; /* Устанавливаем вид кавычек */
            }
            .tag::before {
                content: open-quote; /* Добавляем перед текстом открывающую кавычку */
            }
            .tag::after {
                content: close-quote; /* Добавляем после текста закрывающую кавычку */
            }
        </style>
    </head>
    <body>
        <p>
            Элемент
            <span class="tag">DEL</span> используется для
            выделения текста, который был удалён в новой
            версии документа.
        </p>
    </body>
</html>

Комментарии