Атрибут style тега <dfn>
Описание
Атрибут style позволяет задавать CSS-стили непосредственно для элемента <dfn>. Это полезно для быстрого оформления терминов без создания отдельного CSS-правила.
<dfn style="color: #2b6cb0; font-style: italic;">HTML</dfn> - язык гипертекстовой разметки
<dfn style="background-color: #f7fafc; padding: 2px 5px; border-radius: 3px;">CSS</dfn> - каскадные таблицы стилей
<dfn style="font-weight: bold; border-bottom: 2px dotted #e53e3e;">JavaScript</dfn> - язык программирования
Сравнение с CSS-классами:
| Атрибут style | CSS-классы |
|---|---|
| Быстрое применение | Требует отдельного CSS-файла или тега <style> |
| Высокий приоритет (инлайновые стили) | Приоритет зависит от специфичности селектора |
| Трудно поддерживать при массовом использовании | Легко менять стили централизованно |
Рекомендуемые случаи использования:
<!-- 1. Динамическое изменение стилей через JavaScript -->
<dfn id="dynamic-term" style="color: green;">API</dfn>
<script>
document.getElementById('dynamic-term').style.fontWeight = 'bold';
</script>
<!-- 2. Уникальное оформление для конкретного термина -->
<dfn style="background: linear-gradient(90deg, #f6e05e, #f687b3);
-webkit-background-clip: text;
color: transparent;">WebGL</dfn>
<!-- 3. Быстрое прототипирование -->
<dfn style="border: 1px solid #cbd5e0; padding: 0.2em 0.4em;">React</dfn>
Лучшие практики:
- Используйте для единичных стилевых правок, а не для комплексного оформления
- Избегайте дублирования стилей - если одинаковое оформление применяется к нескольким терминам, вынесите в CSS-класс
- Для сложных анимаций и трансформаций предпочтительнее внешние стили
- Учитывайте, что инлайновые стили имеют высший приоритет (переопределяют другие стили)
Пример с медиа-запросами:
<dfn style="font-size: 1.2em;
@media (max-width: 600px) {
font-size: 1em;
}">TypeScript</dfn>
<!-- Внимание: медиа-запросы в атрибуте style не работают!
Это пример того, как НЕ надо делать -->
<!-- Правильный подход -->
<style>
@media (max-width: 600px) {
.responsive-term { font-size: 1em; }
}
</style>
<dfn class="responsive-term" style="font-size: 1.2em;">TypeScript</dfn>
Ограничения и совместимость:
- Поддерживается всеми браузерами
- Не поддерживает:
- Медиа-запросы
- Псевдоклассы (:hover, :focus и др.)
- Псевдоэлементы (::before, ::after)
- Не рекомендуется для важных стилей (лучше использовать CSS-классы)
- Может быть заблокирован Content Security Policy (CSP)
Примечание: Хотя атрибут style удобен для быстрого тестирования и единичных стилевых правок, для профессиональной разработки предпочтительнее использовать внешние стили. Особенно это важно для терминологических словарей, где требуется единообразное оформление всех определений.