【发布时间】:2011-04-16 20:59:28
【问题描述】:
(在我开始之前我应该说是的,我已经完成了所有的愚蠢检查,是的链接在我的历史中并且已经被访问过等等)
我使用的是 Chrome 版本 6.0.472.63,但重要的是它适用于所有浏览器。
它适用于 Firefox、IE 和 Opera。
基本上,如果链接已被访问,我要做的就是更改链接的背景图像。
我已经进行了很多试验和错误测试,请耐心等待多个示例。
这就是我原来的样子
.forum_box .title 一个 { 背景图像:url(../images/f_unread.png); 背景位置:10px 中心; 背景重复:不重复; 背景颜色:透明; 颜色:#2D4054; 字体大小:14px; 填充:10 像素 12 像素 10 像素 44 像素; 文字装饰:无; 显示:块; 字体粗细:粗体; } .forum_box .title a:访问过{ 背景图像:url(../images/f_read.png); }适用于除 Chrome 之外的所有浏览器。接下来我尝试将其设置为颜色而不是图像。
.forum_box .title a:访问过{ 背景颜色:红色; }同样如此,但是我将链接更改为 #fff 而不是透明的,并且访问的链接变为红色,因此显然 bg 颜色仅在您为父级设置 bg 颜色时才有效。
.forum_box .title 一个 { 背景图像:url(../images/f_unread.png); 背景位置:10px 中心; 背景重复:不重复; 背景颜色:#fff; 颜色:#2D4054; 字体大小:14px; 填充:10 像素 12 像素 10 像素 44 像素; 文字装饰:无; 显示:块; 字体粗细:粗体; } .forum_box .title a:访问过{ 背景颜色:红色; }但是它仍然不能解决我的图像问题。因此,在最后一次尝试中,我尝试了这一点,希望由于某种原因,Chrome 只能在两者都存在相同属性时才能工作。
.forum_box .title 一个 { 背景:#fff url(../images/f_unread.png) no-repeat 10px center; 颜色:#2D4054; 字体大小:14px; 填充:10 像素 12 像素 10 像素 44 像素; 文字装饰:无; 显示:块; 字体粗细:粗体; } .forum_box .title a:访问过{ 背景:#fff url(../images/f_read.png) 不重复 10px 中心; }这也不起作用,然后继续在 Firefix、Opera 和 IE 上工作。所以我来到Stack Overflow很迷茫。
任何帮助将不胜感激!
更新: 我尝试了一个 jQuery 解决方案,尽管它仍然不起作用。尽管有 :visited 链接,但我可以通过将字体颜色更改为红色来确认它们的访问状态。 jQuery('a:visited').length 返回 0。
【问题讨论】:
-
这是可能的,例如我可以做 jQuery('.forum_box .title a:visited').addClass('visited') 然后使用该类进行样式设置。但我认为会有另一种解决方案,而不是 Chrome 在最古老和最基本的 CSS 属性之一上存在固有缺陷。
-
我知道这并不能解决您的问题,但您可以随时提交错误...code.google.com/p/chromium/issues/entry
-
您是否尝试过使用 Web Inspector 来显示哪些样式应用于
a:visited链接? (Web Inspector:ctrl+shift+i,选择“元素”并导航到并单击元素窗格中的链接)。 -
抱歉,不知道为什么我没有早点回复这个问题,我一定是全神贯注了。 Web Inspector 不显示任何访问过的样式,甚至 color:red;没有出现(尽管它确实以计算样式显示)。
-
好问题。似乎已经有一个针对 Chrome 的错误:code.google.com/p/chromium/issues/detail?id=44043。您可能需要在此处添加确认信息。
标签: css google-chrome background-image visited