Чтобы ответить на ваш вопрос
Пожалуйста, найдите решение с помощью селектора атрибутов или сообщите мне, что это невозможно из-за X причин (ссылка на документы в лучшем случае).
Нет, хотя это было бы очень полезно, согласно моим исследованиям, в настоящее время невозможно :
MDN около CSS attr()
:
Примечание: функцию attr () можно использовать с любым свойством CSS, но поддержка свойств, отличных от содержимого, является экспериментальной, а поддержка параметра type-or-unit ограничена.
Согласно caniuse.com о css3-attr , возможность использовать attr()
на любом свойстве CSS (кроме content
, и использовать его для нестроковых значения (например, числа, цвета) через <type_or_unit>
, как определено в «CSS Уровнях значений и единиц измерения 3», в настоящее время не поддерживается всеми браузерами .
См. также заявление о текущем черновик для «CSS Модуль значений и единиц, уровень 4»:
Следующий f элементы подвержены риску и могут быть исключены в течение периода CR: toggle()
, attr()
[...]
(Источник: https://drafts.csswg.org/css-values/#status)
В выпуске Chromium я нашел ссылку на интересный ресурс, о котором я не знал: панель инструментов веб-платформенных тестов для css-values
. Взгляните на (неудачные) тесты с префиксом attr-
, особенно attr-length-valid.html
и attr-px-valid.html
.
Но есть надежда: команда Chromium недавно (15.05.2020) опубликовала Намерение реализовать и отправить: CSS расширенная функция attr ()
Реализовать расширение attr (), указанное в CSS уровне 4, а именно, позволяя различные типы (кроме) и использование во всех свойствах CSS (кроме псевдоэлемента content).
Примечание: CSS Уровень 4 внес существенные изменения в attr () по сравнению с уровнем 3, чтобы упростить реализацию. Мы будем следовать CSS4. [...]
Мотивация: Это очень востребованная функция, 77 звезд на crbug.com/246571. [...]
Отслеживание Chromium Проблема 246571: Реализовать атрибут CSS3 / ссылки attr )
Firefox также показать недавние активность, см. Firefox отслеживание Ошибка 435426 [мета] Реализовать CSS Значения 3 расширения для attr () , по крайней мере, они относятся к текущим усилиям Chromium.
(WebKit Ошибка 26609 - Поддержка функции CSS3 attr () не показывает активности, что может быть нарушением сделки)