--- title: attr() slug: Web/CSS/attr() tags: - CSS - CSS функція - Web - attr - Макет translation_of: Web/CSS/attr() ---
attr() може буті використана з будь-якою властивісттю CSS, але підтримка для властивостей інших ніж {{CSSxRef("content")}} є експериментальною, і підтримка для параметру type-or-unit обмежена.Функція attr() в CSS використовується для повернення значення атрибуту вибраного елементу і використання його в таблиці стилів. Вона може бути використана на псевдоелементах, і в цьому випадку повертається значення атрибута для використання в якості тексту псевдоелемента.
/* Просте застосування */ attr(data-count); attr(title); /* З параметром type */ attr(src url); attr(data-count number); attr(data-width px); /* З параметром fallback */ attr(data-count number, 0); attr(src url, ""); attr(data-width px, inherit); attr(data-something, "default");
attribute-name<type-or-unit> {{Experimental_Inline}}| Ключове слово | Асоційований тип | Коментар | Значення за замовчуванням |
|---|---|---|---|
string |
{{CSSxRef("<string>")}} | Значення атрибута трактується як CSS {{CSSxRef("<string>")}}. Воно НЕ буде оброблюватися, і зокрема символи будуть використані як-є замість того, щоб маскування CSS перетворювалися на інші символи. | Пустий рядок. |
color {{Experimental_Inline}} |
{{CSSxRef("<color>")}} | Значення атрибуту аналізується як хеш (3- або 6-значні хеші) або як ключове слово. Повінне бути дійсним значенням CSS {{CSSxRef("<string>")}}. Провідні і кінцеві прогалини будуть прибрані. |
currentColor |
url {{Experimental_Inline}} |
{{CSSxRef("<url>")}} | Значення атрибута аналізується як CSS рядок що використовується всередині CSS функції url().Відносна URL-адреса вирішується відносно оригінального документа, а не щодо таблиці стилів. Провідні і кінцеві прогалини будуть прибрані. |
The url about:invalid that points to a non-existent document with a generic error condition. |
integer {{Experimental_Inline}} |
{{CSSxRef("<integer>")}} | Значення атрибута аналізується як CSS {{CSSxRef("<integer>")}}. Якщо воно не є дійсним значенням, тобто не є числом або виходить за межі діапазону, прийнятого властивістю CSS, використовується значення за замовчуванням. Провідні і кінцеві прогалини будуть прибрані. |
0, або, якщо 0 не є дійсним значенням для властивості, мінімальним значенням властивості. |
number {{Experimental_Inline}} |
{{CSSxRef("<number>")}} | Значення атрибута аналізується як CSS {{CSSxRef("<number>")}}. Якщо воно не є дійсним значенням, тобто не є числом або виходить за межі діапазону, прийнятого властивістю CSS, використовується значення за замовчуванням. Провідні і кінцеві прогалини будуть прибрані. |
0, або, якщо 0 не є дійсним значенням для властивості, мінімальним значенням властивості. |
length {{Experimental_Inline}} |
{{CSSxRef("<length>")}} | Значення атрибута аналізується як CSS {{CSSxRef("<length>")}} вимір, що вміщує одиниці виміру (наприклад, 12.5em). Якщо воно не є дійсним значенням, тобто не є довжиною або виходить за межі діапазону, прийнятого властивістю CSS, використовується значення за замовчуванням.Якщо дана одиниця виміру є відносною довжиною, attr () обчислює її до абсолютної довжини Провідні і кінцеві прогалини будуть прибрані. |
0, або, якщо 0 не є дійсним значенням для властивості, мінімальним значенням властивості. |
em, ex, px, rem, vw, vh, vmin, vmax, mm, cm, in, pt, or pc {{Experimental_Inline}} |
{{CSSxRef("<length>")}} | Значення атрибута аналізується як CSS {{CSSxRef("<number>")}}, що не містить одиниць виміру (e.g. 12.5), і трактується як {{CSSxRef("<length>")}} з вказаними одиницями виміру. Якщо воно не є дійсним значенням, тобто не є довжиною або виходить за межі діапазону, прийнятого властивістю CSS, використовується значення за замовчуванням.Якщо дана одиниця виміру є відносною довжиною, attr () обчислює її до абсолютної довжини Провідні і кінцеві прогалини будуть прибрані. |
0, або, якщо 0 не є дійсним значенням для властивості, мінімальним значенням властивості. |
angle {{Experimental_Inline}} |
{{CSSxRef("<angle>")}} | Значення атрибута аналізується як CSS {{CSSxRef("<angle>")}} вимір, із зазначеними одиницями віміру (наприклад, 30.5deg). Якщо воно не є дійсним значенням, тобто не є мірою кута або виходить за межі діапазону, прийнятого властивістю CSS, використовується значення за замовчуванням.Провідні і кінцеві прогалини будуть прибрані. |
0deg, або, якщо 0deg не є дійсним значенням для властивості, мінімальним значенням властивості. |
deg, grad, rad {{Experimental_Inline}} |
{{CSSxRef("<angle>")}} | Значення атрибута аналізується як CSS {{CSSxRef("<number>")}}, тобто без одиниць виміру (наприклад, 12.5), і трактується як {{CSSxRef("<angle>")}} із зазначеними одиницями віміру. Якщо воно не є дійсним значенням, тобто не є числом або виходить за межі діапазону, прийнятого властивістю CSS, використовується значення за замовчуванням.Провідні і кінцеві прогалини будуть прибрані. |
0deg, або, якщо 0deg не є дійсним значенням для властивості, мінімальним значенням властивості. |
time {{Experimental_Inline}} |
{{CSSxRef("<time>")}} | Значення атрибута аналізується як CSS {{CSSxRef("<time>")}} вимір, із зазначеними одиницями віміру (наприклад, 30.5ms). Якщо воно не є дійсним значенням, тобто не є значенням часу або виходить за межі діапазону, прийнятого властивістю CSS, використовується значення за замовчуванням.Провідні і кінцеві прогалини будуть прибрані. |
0s, або, якщо 0s не є дійсним значенням для властивості, мінімальним значенням властивості. |
s, ms {{Experimental_Inline}} |
{{CSSxRef("<time>")}} | Значення атрибута аналізується як CSS {{CSSxRef("<number>")}}, що не містить одиниць виміру (наприклад, 12.5), і трактується як {{CSSxRef("<time>")}} із зазначеними одиницями віміру. Якщо воно не є дійсним значенням, тобто не є числом або виходить за межі діапазону, прийнятого властивістю CSS, використовується значення за замовчуванням.Провідні і кінцеві прогалини будуть прибрані.. |
0s, або, якщо 0s не є дійсним значенням для властивості, мінімальним значенням властивості. |
frequency {{Experimental_Inline}} |
{{CSSxRef("<frequency>")}} | Значення атрибута аналізується як CSS {{CSSxRef("<frequency>")}} вимір, із зазначеними одиницями віміру (наприклад, 30.5kHz). Якщо воно не є дійсним значенням, тобто не є частотою або виходить за межі діапазону, прийнятого властивістю CSS, використовується значення за замовчуванням. |
0Hz, або, якщо 0Hz не є дійсним значенням для властивості, мінімальним значенням властивості. |
Hz, kHz {{Experimental_Inline}} |
{{CSSxRef("<frequency>")}} | Значення атрибута аналізується як CSS {{CSSxRef("<number>")}}, тобто без одиниць виміру (наприклад, 12.5), і трактується як {{CSSxRef("<frequency>")}} із зазначеними одиницями віміру. Якщо воно не є дійсним значенням, тобто не є частотою або виходить за межі діапазону, прийнятого властивістю CSS, використовується значення за замовчуванням.Провідні і кінцеві прогалини будуть прибрані. |
0Hz, або, якщо 0Hz не є дійсним значенням для властивості, мінімальним значенням властивості. |
% {{Experimental_Inline}} |
{{CSSxRef("<percentage>")}} | Значення атрибута аналізується як CSS {{CSSxRef ("<number>")}}, тобто без одиниць виміру (наприклад, 12.5), і інтерпретується як {{CSSxRef ("<percentage>")}}. Якщо воно не є дійсним значенням, тобто не є числом або виходить за межі діапазону, прийнятого властивістю CSS, використовується значення за замовчуванням. Якщо дане значення використовується як довжина, attr () обчислює його до абсолютної довжини. Провідні і кінцеві прогалини будуть прибрані. |
0%, або, якщо 0% не є дійсним значенням для властивості, мінімальним значенням властивості. |
<fallback> {{Experimental_Inline}}<p data-foo="hello">world</p>
[data-foo]::before {
content: attr(data-foo) " ";
}
{{EmbedLiveSample("content_property", "100%", 50)}}
{{SeeCompatTable}}
<div class="background" data-background="lime">background expect to be red if your browser does not support adavanced usage of attr()</div>
.background {
height: 100vh;
}
.background {
background-color: red;
}
.background[data-background] {
background-color: attr(data-background color, red);
}
{{EmbedLiveSample("color-value", "100%", 50)}}
| Специфікація | Статус | Коментар |
|---|---|---|
| {{SpecName("CSS4 Values", "#attr-notation", "attr()")}} | {{Spec2("CSS4 Values")}} | Без змін. |
| {{SpecName("CSS3 Values", "#attr-notation", "attr()")}} | {{Spec2("CSS3 Values")}} |
Додано два не обов'язкові параметри; |
| {{SpecName("CSS2.1", "generate.html#x18", "attr()")}} | {{Spec2("CSS2.1")}} | Обмежено властивісттю {{CSSxRef("content")}}; завжди повертає {{CSSxRef("<string>")}}. |
{{Compat("css.types.attr")}}