Google chrome a: посещенное фоновое изображение не работает
(прежде чем я начну, я должен сказать Да, я сделал все проверки глупости, да, ссылка в моей истории и была посещена и т. д.)
Я использую Chrome версии 6.0.472.63, хотя важно, что это работает во всех браузерах.
он работает на Firefox, IE и Opera.
в основном все, что я пытаюсь сделать, это изменить фоновое изображение ссылки, если ссылка была посещена.
Я сделал много проб и ошибок тестирования так, медведь со мной для нескольких примеров.
это то, что у меня было изначально
.forum_box .title a { background-image:url(../images/f_unread.png); background-position:10px center; background-repeat:no-repeat; background-color:transparent; color:#2D4054; font-size:14px; padding:10px 12px 10px 44px; text-decoration:none; display:block; font-weight:bold; } .forum_box .title a:visited { background-image:url(../images/f_read.png); }
работает в каждом браузере, кроме Chrome. Затем я попытался просто сделать его цветом, а не изображением.
.forum_box .title a:visited { background-color:red; }
то же самое снова, однако я изменил ссылку на #fff вместо прозрачной, а посещенная ссылка изменилась на красный, поэтому, по-видимому, цвет bg работает только если вы установили цвет bg для родителя.
.forum_box .title a { background-image:url(../images/f_unread.png); background-position:10px center; background-repeat:no-repeat; background-color:#fff; color:#2D4054; font-size:14px; padding:10px 12px 10px 44px; text-decoration:none; display:block; font-weight:bold; } .forum_box .title a:visited { background-color:red; }
однако это все еще не решает мою проблему с изображением. Итак, в одном финале попытка я попробовал это в надежде, что по какой-то причине Chrome будет работать только тогда, когда те же свойства, где присутствуют в обоих.
.forum_box .title a { background:#fff url(../images/f_unread.png) no-repeat 10px center; color:#2D4054; font-size:14px; padding:10px 12px 10px 44px; text-decoration:none; display:block; font-weight:bold; } .forum_box .title a:visited { background:#fff url(../images/f_read.png) no-repeat 10px center; }
это тоже не сработало и снова продолжало работать над Firefix, Opera и IE. Поэтому я прихожу сюда, чтобы Stack Overflow очень запутался.
любая помощь была бы очень признательна!
обновление: Я попытался решить jQuery, хотя он все еще не работает. Несмотря на наличие: посещенные ссылки, и я могу подтвердить их посещенное состояние изменение цвета шрифта на красный. jQuery ('a:visited').возвращает длину 0.
4 ответов
та же проблема здесь. Изменение фоновой позиции в спрайте CSS на a: visited работает для меня в Firefox 3.6, но не в Chrome 6.
но, вероятно, скоро он перестанет работать в Firefox. (может быть, для FF 4?)
это проблема конфиденциальности, и вы можете прочитать здесь Статью Mozilla об этом (март 2010)http://hacks.mozilla.org/2010/03/privacy-related-changes-coming-to-css-vistited/ И жук: https://bugzilla.mozilla.org/show_bug.cgi?id=147777#c160
Я думаю, что единственным возможным решением является творческое использование цвета фона вместо изображений.
вероятно, это проблема безопасности.
Проверьте это в должности в блоге безопасности mozilla.
Я могу себе представить, как они это сделают.
Chrome, похоже, отключил css для: visited (за исключением цвета ).
Это было бы для предотвращения эксплойта истории обнюхивания.
вам могут понадобиться ваши одинарные кавычки вокруг вашего url img... Браузеры забавны, когда они заботятся о котировках, а когда нет....