Когда тег "a" не наследует атрибут цвета родительского тега?

Вот мой код: css part

.blue {
    color:#6E99E1;
    font-size:9px;
}

разметка

<span class="blue">::<a href="/equipment_new.php">CLICK HERE</a>:: to view our New Equipment inventory. <br /><br /></span>

Я каким-то образом вызвал то, что помешало тегу "a" унаследовать цвет родительского тега (здесь "span" ).

Ответ 1

По умолчанию тег привязки не наследует атрибуты, такие как цвет, если присутствует атрибут href.

Проверьте разницу между этими двумя на странице (я не понимаю, как ее отобразить в сообщении):

<span style=color:green><a href="t">test</a></span>


<span style=color:green><a>test</a></span>

Следующая ссылка на w3 c:

http://www.w3.org/TR/html401/struct/links.html#h-12.2

Пользовательские агенты обычно предоставляют ссылки в таким образом, чтобы сделать их очевидными для пользователей (подчеркивание, обратное видео, и т.д.). Точный рендеринг зависит от пользовательский агент. Оказание может варьироваться в зависимости от того, имеет ли пользователь уже посетил ссылку или нет.

.....

Обычно содержимое A не сделанный каким-либо особым образом, когда A определяет только привязку.

Ответ 2

Просто добавление к другим ответам, если вы хотите, чтобы ваши теги <a> наследовали цвет от их родителя, вы можете использовать

a {color: inherit; }

Ответ 3

Я собирался опубликовать это как комментарий, но он немного прибавил... Так что это ответ на вопрос, а также ответ на Ответ Кевина и его комментарии.

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

В Firefox вы можете увидеть это в Firebug, если вы переключите "Показать пользовательский агент CSS" (или вы можете посмотреть внутренние таблицы стилей Firefox. Вы можете увидеть настройки браузера в Webkit Web Inspector и Opera Dragonfly. Я не думаю, что вы можете в IE.

Я не знаю ни одного сайта, на котором есть обзор всех настроек браузера. CSS2 "информативный" таблица стилей HTML4, а также YUI reset stylesheet была бы хорошей отправной точкой, но ни один из них не упоминает о каких-либо (link) цветах (в таблице стилей HTML4 упоминается подчеркивание).

Чтобы узнать, какие свойства наследуются вообще, вы можете использовать таблицу индексов свойств ссылочного свойства CSS2 (см. столбец "Унаследованный?" ). SitePoint также упоминает его в ссылка CSS.

Итак, если вы хотите, чтобы ваша ссылка наследовала свой цвет от родительского, а не из таблицы стилей по умолчанию в браузере, вы бы в идеале сделали что-то вроде этого:

.blue a:link {
    color: inherit;
}

Вы можете установить его для разных псевдокласс в отдельности (например, :visited, :hover и :active) или для тега a.

Однако IE6 и IE7 не поддерживают ключевое слово inherit, поэтому, если вы тоже хотите их поддержать, должны установить цвет явно.

Ответ 4

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

.blue {
    color:#6E99E1;
    font-size:9px;
}

к

.blue, .blue a{
    color:#6E99E1;
    font-size:9px;
}

Ответ 5

Firebug покажет вам, какие правила стиля применяются к элементам. Это идеально подходит для этого.

(Возможность без CSS: есть ли у вас атрибуты link/alink/vlink в тэге <body>?)

Изменить: Дух, глупый, у других это правильно - <a href> не наследует цвет. Но Firebug по-прежнему является хорошим инструментом для такого рода проблем (даже если я нет. 8 -)

Ответ 6

В дополнение к firebug (который должен быть вашим первым портом захода), панель инструментов разработчика IE будет также расскажите, откуда взялся данный стиль, на всякий случай IE - шок, ужас - должны быть разными.

Ответ 7

Вероятно, вы увидите раскраску a: visited. Попробуйте следующее:

.blue, .blue:link, .blue:visited {
  color:#6E99E1;
  font-size:9px;
}

Ответ 8

Вам нужно явно установить цвет ссылок, чтобы переопределить синий цвет по умолчанию.