content
Властивість в CSS визначає вміст елемента. Можливо , ви чули , що це властивість застосовується тільки до ::before
і ::after
псевдо-елементів. У цій статті ми розглянемо різні варіанти використання content
властивості, в тому числі поза псевдоелементами.
Обов’язкова умова
Так як більшість випадків використання для content
майна включають псевдо-елементи, я хотів би запропонувати , що ви знайомі з тим, як ::before
і ::after
псевдо-елементів роботи. Ось чудова стаття, яка допоможе вам швидше:
- Псевдоелементи CSS - пояснення до та після селекторів
Прийняті цінності
Спочатку давайте подивимось на всі прийняті значення content
властивості.
normal
: Це значення за замовчуванням. Обчислюєтьсяnone
при використанні з псевдоелементами.none
: Псевдоелемент не генерується.: Встановлює вміст до вказаного рядка. Цей рядок може містити вхідні послідовності Unicode. Наприклад, символ авторського права:
\\000A9
.: Встановлює вміст для зображення або градієнта за допомогою
url()
абоlinear-gradient()
.open-quote
|close-quote
: Встановлює вміст до відповідного лапки, на яке посилаєтьсяquotes
властивість.no-open-quote
|no-close-quote
: Видаляє лапку з вибраного елемента, але все одно збільшує або зменшує рівень вкладеності, на який посилаєтьсяquotes
властивість.attr(*attribute*)
: Встановлює вміст як значення рядка для вибраних атрибутів вибраних елементів.counter()
: Встановлює вміст як значення аcounter
, як правило, числа.
Рядок
Одним з найосновніших прикладів може бути використання додавання рядкового вмісту до або після елемента. У цьому прикладі ми додамо символ посилання перед посиланням, а URL-адресу посилання - після нього.
a::before { content: "\\1F517 "; } a::after { content: " (" attr(href) ")"; }
Зверніть увагу на пробіл після символу Unicode у ::before
псевдоелементі та перед першою дужкою в ::after
псевдоелементі. Це створить простір між ними та батьківським елементом.
Крім того, ви можете додати padding
або margin
до псевдоелементів, щоб додати поділ.
Основні котирування
За допомогою content
властивості ви можете додавати лапки до та / або після елементів. Тепер у HTML у нас є тег. Це також додасть лапки навколо його вмісту. Однак, володіючи
content
власністю, ми можемо мати більший контроль над реалізацією.
Ось найосновніший приклад додавання лапок:
Ви також можете досягти цього за допомогою тегу HTML . Але, можливо, ми хочемо оформити цитату по-іншому. Тож давайте додамо лише початкову цитату, а не кінцеву. І давайте також оформимо початкову цитату.
p { position: relative; font-size: 3rem; margin: 4rem; } p::before { content: open-quote; position: absolute; left: -3.5rem; top: -2rem; font-size: 8rem; color: rgba(0, 0, 0, 0.5) }
Результат:

Розширені котирування
Ми також можемо вказати, де нам не потрібні лапки. Наприклад, ви можете цитувати когось, хто цитує іншу людину. Отже, у вас будуть цитати в цитатах, які можуть заплутати читача.
У наведеному нижче CodePen ми використовуємо теги HTML , а потім вказуємо, які теги не повинні відображати лапки.
На перший погляд, ви можете подумати, що нам слід просто видалити тег там, де це потрібно. Але, вказавши, де котирування не повинно збільшувати або зменшувати рівень вкладеності, на який посилається
quotes
властивість.
Щоб пояснити це, нам потрібно зрозуміти quotes
властивість. Це просто "масив" символів, який слід використовувати при цитуванні. Ось приклад:
q { quotes: '“' '”' '‘' '’' '“' '”'; }
Це набори цитат. Перший набір буде використаний для верхнього рівня котирувань. Другий набір буде використаний для першої вкладеної цитати. І третій набір буде використаний для другої вкладеної цитати. І так далі, якби було включено більше комплектів.
Тепер, коли ми розуміємо quotes
властивість, я можу пояснити , як no-open-quote
і no-close-quote
властивості роботи.
Для кожного рівня лапок ми можемо призначити різні набори символів, які використовуватимуться для лапок. Вказуючи, де котирування не повинно збільшувати або зменшувати рівень вкладеності, на який посилається quotes
властивість.
Погляньте на приклад нижче. Ви побачите, що другий рівень котирувань пропущений.
Атрибути
Атрибути можна використовувати для передачі вмісту з HTML у content
властивість CSS . Ми фактично використовували це вже у прикладі посилання, де використовували href
атрибут, щоб включити рядок URL-адреси як частину нашого вмісту.
Ідеальним варіантом використання для цього є підказка. Ви можете додати title
атрибут до елемента в HTML, щоб мати просту вбудовану підказку при наведенні. Але щоб налаштувати це, ми можемо використовувати атрибут даних у нашому тегу HTML, а потім використовувати content
властивість, щоб додати підказку.
У цьому прикладі ми використовуємо атрибут data-tooltip
нашого елемента HTML для передачі значення в підказку. Для отримання покажчика підказки, ми встановлюємо , content
щоб ""
, як і content
потрібно для візуалізації ::before
або ::after
псевдо-елемента.
Лічильники
Функція counter()
CSS повертає рядок, що представляє поточне значення названого лічильника. У наступному прикладі ми маємо впорядкований список, який ми будемо додавати вміст за допомогою counter
.
ol { counter-reset: exampleCounter; } li { counter-increment: exampleCounter; } li::after { content: "[" counter(exampleCounter) "] == [" counter(exampleCounter, upper-roman) "]"; }
Не надто поглиблюючи counter
функцію, ми повинні спочатку ініціювати лічильник на ol
елементі. Ми можемо називати це як завгодно. Потім ми кажемо лічильнику збільшувати кожен li
елемент. І , нарешті, ми встановлюємо content
з li::after
.
Ось результат:

Ви можете використовувати це для налаштування вмісту кожного елемента списку, якому потрібен відповідний номер. Або ви можете використати це для налаштування самого елемента списку. Наприклад, ви можете видалити нумерацію за замовчуванням та застосувати систему нумерації на замовлення.
Зображення
З content
властивістю можна використовувати зображення та градієнти . Це досить прямо. Ось приклад, який використовує обидва:
Для доступності також є можливість додати альтернативний текст для зображення. Однак ця функція не повністю підтримується.
content: url(//unsplash.it/200/200) / "Alternative Text Here";
Примітка. Це не підтримується у Firefox, IE та Safari. Крім того, градієнт не працює у Firefox.Поза псевдоелементами
Це правильно! Ви можете використовувати content
властивість поза псевдоелементами ::before
та ::after
. Хоча його використання обмежене і не повністю сумісне у всіх браузерах.
Найбільш сумісним варіантом використання буде заміна елемента.
codeSTACKr
#replace { content: url(""); width: 100%; }
Примітка: Заміна не підтримується в IE.Висновок
Найчастіше ви побачите content: ""
знайдені в ::before
і ::after
псевдоелементи. Але content
властивість має багато корисних додатків.
На мою думку, найкраще використовувати його для оновлення об’ємних елементів. Якщо ви хочете додати піктограму перед кожним посиланням на вашому сайті, було б набагато простіше додати її через content
властивість, ніж додати її до кожного елементу документа HTML.
Дякуємо за читання!
Дякуємо, що прочитали цю статтю. Сподіваємось, це допомогло вам краще зрозуміти, як content
властивість працює в CSS.
Я Джессі з Техасу. Перевірте інший мій вміст і повідомте мені, як я можу допомогти вам у вашій подорожі до того, щоб стати веб-розробником.
- Підписатися на мій YouTube
- Привітайся! Instagram | Twitter
- Підпишіться на мою розсилку