В моем приложении мне нужно изменить размер шрифта посещенных ссылок. Что я делаю:Как изменить размер шрифта в css?
a:visited {
color: pink;
font-size:12px;
}
Но меняется только цвет. Почему размер шрифта не меняется?
В моем приложении мне нужно изменить размер шрифта посещенных ссылок. Что я делаю:Как изменить размер шрифта в css?
a:visited {
color: pink;
font-size:12px;
}
Но меняется только цвет. Почему размер шрифта не меняется?
Ограничения :visited
:visited
pseudoselector имеет some limitations в отношении того, что свойства он может предназначаться и, к сожалению font-size
не один из них:
Приемлемые свойства
Как видно выше, единственно приемлемыми стили, которые могут быть направлены являются:
color
background-color
border-color
border-{bottom,left,right,top}-color
outline-color
column-rule-color
Это сделано по соображениям безопасности/конфиденциальности и вряд ли изменится в ближайшее время. Если вам действительно нужно было это реализовать, вам, скорее всего, придется прибегнуть к некоторому Javascript, чтобы явно установить размер в ваших посещенных тегах.
Лучшая ссылка https://developer.mozilla.org/en-US/docs/Web/CSS/Privacy_and_the_:visited_selector – j08691
Спасибо, что указали, что один из них. Я часто использую документацию Mozilla, поскольку я считаю, что она хорошо читается, но эта является твердой и сосредоточена на точной проблеме (не говоря уже о том, что она присутствует в изображении, с которым я связан). +1 –
Браузеры ограничивают стили, которые могут быть установлены для: посещенных ссылок из-за проблем с безопасностью.
Допустимые типы:
Все остальные стили наследуются по ссылке:.
Вы можете изменить любой цвет посещенных (: посещенных) ссылок, но не размер. Вы можете изменить размер: link {font-size: 150%} посещенных ссылок «NOT»
Итак, все остальные ответы установили, что это невозможно сделать с помощью чистого CSS. Так что JavaScript на помощь.
https://jsfiddle.net/dustinpoissant/708fwntf/
$(function(){
$("a").each(function(index, link){
var $link = $(link);
console.log($link.css("color"));
if($link.css("color") == "rgb(0, 0, 238)"){
$link.addClass("visited");
}
})
});
a:visited {
color: pink;
}
a.visited {
font-size: 26px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="#">Test</a>
попробуйте использовать настоящий атрибут href: страница будет выгружена и имя класса не будет применено (если цель по умолчанию - '_self') - возможно, вы могли бы сохранить информацию в localstorage для каждой нажатой ссылки и загружать оттуда при каждой загрузке страницы. – fcalderan
Я не знаю, что вы подразумеваете под словом «страница будет выгружена», вы можете уйти и вернуться, и все работает отлично. И если вы используете localstorage, вы предполагаете, что ссылка была посещена с этого сайта, тогда как ее можно было посетить с другого сайта, то вы попадаете на этот сайт, и этот пример должен работать. –
https://jsfiddle.net/o3LthLtm/ – fehrlich
@XzenTorXz сделал эту скрипку работу для вас? Для меня это не работает –
Нет, я просто добавил рабочую демонстрацию – fehrlich