Как переопределить глобальную таблицу стилей

StackOverflow https://stackoverflow.com/questions/181309

  •  05-07-2019
  •  | 
  •  

Вопрос

В двух словах, есть глобальная таблица стилей:

a { font-family: Arial; }

Я хочу использовать другое семейство шрифтов для конкретной ссылки:

<a href="..." style="font-family: Helvetica;">...</a>

или

<span style="font-family: Helvetica;"><a href="...">...</a></span>

но ничего не работает.Есть простой способ сделать это?

P.S.Я динамически (через PHP) назначаю разные шрифты разным ссылкам, поэтому создание специального класса не вариант.

Это было полезно?

Решение

Если у вас нет определенного шрифта с именем Helvetica, вы должны понимать, что на некоторых платформах (например, Windows, через Заменители шрифтов), Helvetica является псевдонимом Arial.Это может быть источником проблемы.Попробуйте другой шрифт и посмотрите.

Другие советы

Ваша первая попытка

  <a href="..." style="font-family: Helvetica;">...</a>

должно было сработать.Согласитесь, что вам, вероятно, не хватает шрифта.Встроенные стили имеют приоритет над любыми другими стилями, кроме определяемой пользователем таблицы стилей.Вот порядок приоритетов для определений стилей:

  1. Определяемый пользователем стиль
  2. Встроенная или встроенная таблица стилей
  3. Внутренняя таблица стилей
  4. Внешняя таблица стилей
  5. Стиль браузера по умолчанию

В таблице стилей приоритеты следующие:

  1. Все, что отмечено !важно
  2. идентификатор

  3. .сорт
  4. элемент

Кроме того, у вас есть правило большей специфичности: div a переопределяет a.

Вот хорошая статья, более подробно по теме.

Предложение @Kip — твой лучший выбор.

То, что вы написали, должно работать, если только проблема не в том, на что указал Крис:

Когда вы получите пару шрифтов, для которых это работает правильно, вы можете подумать, что лучший способ сделать это — объявить класс для специальных ссылок, который каким-то образом напоминает вам почему им нужен отдельный шрифт (может потому, что вы хотите, чтобы их особенно заметили?)

a { font-family: Arial; }
a .noticed { font-family: Helvetica; }

Затем в HTML:

<a class="noticed" href="...">...</a>

Изменение шрифта путем создания тега span вокруг ссылки или добавление встроенного стиля к ссылке просто отдает старыми днями. <font> теги.

стили элементов переопределяют глобальные стили, поэтому Крис Джестер-Янг, вероятно, прав, и на самом деле у вас нет шрифта Helvetica;попробуйте другой шрифт, например.Courier или Times New Roman, существование которого, как вы уверены, существует.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top