Видаліть ВСІ стилі / форматування із гіперпосилань


157

Я створюю навігаційне меню зі словами різного кольору ( hrefпосилання). Я хотів би, щоб колір НЕ мінявся в будь-якому стані (наведіть курсор, відвідав тощо).

Я знаю, як встановити кольори для різних станів, але я хотів би знати код, щоб просто залишити колір тексту (та будь-який інший стиль / форматування) таким, яким він є.

Будь-які пропозиції?

Відповіді:


248

Ви можете просто визначити стиль для посилань, які будуть превалювати 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 */
}

4
Важливою частиною є inheritключове слово. На жаль, він не має 100% підтримки.
Девід

2
initialтакож корисно, коли потрібно скинути css до стилю за замовчуванням. Це добре пояснено тут посиланням
SiteHopper

Дякую вам за inherit!
розбір

@david, Чи все ще стоїть? Чи inheritне працює лише в антикварних браузерах та Internet Explorer, або є й у популярних браузерах (Chrome, Firefox)?
розбір

1
Ознайомтесь і з невстановленими . >> Ключове слово unset CSS скидає властивість до його успадкованого значення, якщо воно успадковується від свого батьківського, та до його початкового значення, якщо ні. Іншими словами, він поводиться як ключове слово у спадок у першому випадку, так і як початкове ключове слово у другому випадку.
JackMorrissey

4

Як сказав Кріс перед мною, просто aслід перемогти. Наприклад:

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

У цьому випадку .nav a, БУДЕ ЗАВЖДИ зеленим, наведення: курсор не застосовуватиметься до нього.

Якщо на нього впливає якесь інше правило, можна використовувати !important, але не слід. Це погана звичка потрапляти.

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

Тоді він завжди буде зеленим, не має значення для будь-якого іншого правила.


Це не те, що він запитував. Перечитайте запитання. Він це вже знає.
Девід

@david Я перечитав, майже впевнений, що це він запитав. Цей код дозволить йому встановити стиль, для aякого запобігатиме будь-яким змінам :hover(або :visitedтощо). Як щодо того, щоб замість того, щоб бути хуїм і натерти всі три відповіді, ви пропонуєте фактичне рішення?
SpoonNZ

Дякую за допомогу. Але що робити, якщо посилання така. 2 слова в 2 кольорах, але це лише 1 посилання: унікальні (рожеві) продажі (чорний) І вони повинні залишати цей колір у будь-якому стані. Я зашифрував це в такий спосіб ... <a href="#" style="text-decoration: none" target="_blank"> <span style = "font-family: Arial; font-size: 13px; color: # e91974; шрифт-вага: легший; "> унікальний </span> <span style =" сімейство шрифтів: Arial; розмір шрифту: 13px; колір: # 020202; вага шрифту: легший; "> продаж </ span > </a> Але повинен бути очищувач. (де в коді багато подібних посилань) Будь-які пропозиції?
SiteHopper

1

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

a {
    color: blue;
}

Буде замінено всі стилі посилань та зробить усі стани кольором синім.


Це не те, що він запитував. Перечитайте запитання. Він це вже знає.
Девід

-1

якщо ви заявите a.redLink{color:red;}тоді, щоб тримати це на наведення курсору та таке додавання. a.redLink:hover{color:red;} Це дозволить переконатись, що жоден інший стан зміни вибору не змінить колір ваших посилань

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.