Удалить ВСЕ стили / форматирование из гиперссылок

157

Я создаю меню навигации со словами разных цветов ( hrefссылки). Я бы хотел, чтобы цвет НЕ менялся в любом состоянии (зависание, посещение и т. Д.).

Я знаю, как установить цвета для разных состояний, но я хотел бы знать код, чтобы просто оставить цвет текста (и любой другой стиль / форматирование) как есть.

Какие-либо предложения?

SiteHopper
источник

Ответы:

249

Вы можете просто определить стиль для ссылок, которые будут переопределены a:hoverи a:visitedт.д .:

a {
  color: blue;
  text-decoration: none; /* no underline */
}

Вы также можете использовать inheritзначение, если вместо этого вы хотите использовать атрибуты из родительских стилей:

body {
  color: blue;
}
a {
  color: inherit; /* blue colors for links too */
  text-decoration: inherit; /* no underline */
}
Frxstrem
источник
4
Важной частью является inheritключевое слово. К сожалению, он не имеет 100% поддержки.
Дэвид
2
initialтакже полезно, если вы хотите сбросить CSS до стиля по умолчанию. Это хорошо объясняется здесь ссылка
SiteHopper
Большое вам спасибо за inherit!
парсер
@ Давид, он все еще стоит? Не inheritработает только в старых браузерах и Internet Explorer, или есть трудности в популярных браузерах (Chrome, Firefox)?
парсер
1
Проверьте также не установлен . >> Ключевое слово unset CSS сбрасывает свойство в его унаследованное значение, если оно наследует от своего родителя, и в его начальное значение, если нет. Другими словами, он ведет себя как ключевое слово наследования в первом случае и как начальное ключевое слово во втором случае.
ДжекМоррисси
4

Как сказал Крис передо мной, просто aследует переопределить. Например:

a { color:red; }
a:hover { color:blue; }
.nav a { color:green; }

В этом случае .nav aбудет ВСЕГДА зеленым, к нему не будет применяться: hover.

Если есть какое-то другое правило, влияющее на это, вы МОЖЕТЕ использовать !important, но не должны. Это плохая привычка.

.nav a { color:green !important; } /*I'm a bad person and shouldn't use !important */

Тогда он всегда будет зеленым, не связанным с каким-либо другим правилом.

SpoonNZ
источник
Это не то, что он спросил. Перечитайте вопрос. Он уже знает это.
Дэвид
@ Давид, я перечитал, уверен, что это то, что он спросил. Этот код позволит ему установить стиль, для aкоторого будут предотвращаться любые изменения :hover:visitedт. Д.). Как насчет того, чтобы вместо того, чтобы быть членом и выманивать все три ответа, вы предлагаете реальное решение?
SpoonNZ
Спасибо за помощь. Но что, если ссылка такая. 2 слова в 2 цветах, но это всего лишь 1 ссылка: уникальные (в розовом) распродажи (в черном) И они должны оставаться такими же в любом состоянии. Я закодировал его встроенным образом следующим образом ... <a href="#" style="text-decoration: none" target="_blank"> <span style = "font-family: Arial; размер шрифта: 13px; цвет: # e91974; font-weight: lighter; "> unique </ span> <span style =" font-family: Arial; font-size: 13px; цвет: # 020202; font-weight: lighter; "> sales </ span > </a> Но должен быть уборщик. (там, где много ссылок, как это в коде) Есть предложения?
SiteHopper
1

Вы можете просто использовать aселектор в своей таблице стилей, чтобы определить все состояния привязки / гиперссылки. Например:

a {
    color: blue;
}

Переопределит все стили ссылок и сделает все состояния синим цветом.

Крис
источник
Это не то, что он спросил. Перечитайте вопрос. Он уже знает это.
Дэвид
-1

если вы заявите, a.redLink{color:red;}чтобы сохранить это при наведении и добавлении, a.redLink:hover{color:red;} это гарантирует, что никакие другие состояния при наведении не изменят цвет ваших ссылок

Danferth
источник