Как удалить подчеркивание ссылки в Chrome с помощью CSS?

(работает в FF) Как с помощью CSS удалить подчеркивание посещенной ссылки? Я пытался:

a:visited {
    color: rgb(255, 255, 255);
    text-decoration: none !important;
}

и

a:visited {
    color: rgb(255, 255, 255);
    text-decoration: none;
}

person Anonymous    schedule 05.02.2011    source источник
comment
Может быть, вы установили border-bottom вместо text-decoration для ссылок?   -  person BoltClock    schedule 06.02.2011
comment
Вы можете показать нам свой сайт на примере? Я ожидал, что пример в вашем вопросе будет работать в Chrome ...   -  person Kris C    schedule 06.02.2011
comment
@Kris C phihag.de/2011/so/visited.html   -  person phihag    schedule 06.02.2011


Ответы (3)


Единственное свойство CSS, к которому вы можете применить: посещенные ссылки в большинстве браузеров на основе webkit (например, Chrome), - это color. Это сделано для предотвращения кражи истории. Кроме того, вы не можете определить значение свойства color CSS ссылок из JavaScript. См. https://bugs.webkit.org/show_bug.cgi?id=24300 подробности.

Однако вы можете изменить стиль всех ссылок с помощью a{text-decoration: none;}. Вот демонстрация всего этого дела.

person phihag    schedule 05.02.2011
comment
Зачем тебе !important? Я не вижу подчеркивания в Chrome на сайтах, где я только что использовал a { text-decoration: none; } - person jeroen; 06.02.2011
comment
@jeroen В общем, вам не нужно иметь значение, если специфика вашего правила больше, чем у правила оформления текста во встроенной таблице стилей по умолчанию. Для свойства цвета многие браузеры использовали его для объявления в более конкретном элементе a: link или a :hibited. Поскольку я не могу найти ни одного браузера, требующего! Important для оформления текста, я удалил его из ответа. - person phihag; 06.02.2011
comment
Ах, не знал, спасибо! - person jeroen; 06.02.2011

Некоторые производители браузеров решили / осознали, что отдельное оформление a:visited гиперссылок представляет угрозу безопасности / конфиденциальности для пользователя. Поэтому некоторые, хотя и не все, убрали возможность стилизовать a:visited по-разному.

Подозреваю, что это верно и в отношении Chrome.

Использованная литература:

person David says reinstate Monica    schedule 05.02.2011

Ваше a:visited {} определение должно быть перед вашим общим a {} определением. Вы можете использовать: посещенный, чтобы установить цвет, но установка текстового оформления не работает - но если вы позже установите общее текстовое оформление для элементов, оно будет работать.

So:

a:visited {color: yellow;}
a {color:yellow; text-decoration: none; }

работает (все ссылки отображаются желтым цветом, без оформления текста), но

a {color:yellow; text-decoration: none; }
a:visited {color: yellow;}

и

a {color:yellow; text-decoration: none; }
a:visited {color: yellow; text-decoration: none;}

нет (оба дают все ссылки желтым, но подчеркнуты)

person Mike    schedule 28.03.2013
comment
Этот золотой. Также обратите внимание, что ваш стиль такого типа нельзя воспроизвести с помощью JavaScript, по крайней мере, в Chrome. Если вы попытаетесь перезагрузить такую ​​таблицу стилей, вы вернете ее заново. - person Julik; 02.11.2013