You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无HTML及class权限时如何用CSS设置表格内链接各状态颜色

失效原因

之前的写法有两个核心错误:

  • 链接状态伪类(:link/:hover/:active/:visited)只能绑定在<a>标签上,你之前的选择器最终选中的是<a>内部嵌套的<font>标签,给<font>加链接伪类根本无法触发状态匹配。
  • 你尝试拼接的font:nth-child(1)a:hover是语法错误,浏览器会把它解析为「同时满足是<font>标签、是父元素第一个子元素、处于a的hover状态」的元素——但<font>和<a>是两层嵌套的独立标签,不可能是同一个元素,自然匹配不到;如果在选择器末尾追加> a:hover,则是要找<font>的子元素<a>,和实际DOM里<a>包裹<font>的嵌套顺序完全相反,也不可能命中。

另外90年代老代码里的<font>标签自带color属性,优先级高于CSS继承的样式,只给<a>标签设颜色会被内部<font>的颜色覆盖,必须选中对应状态下<a>内部的<font>,才能成功改色。

正确写法

你提到这个子页面是全站唯一包含表格的页面,完全可以直接用table作为选择器锚点,不用写那串冗长脆弱的nth-child链式选择器——只要页面前端多插一个空元素、广告位,nth-child序号偏移就会导致样式失效。
覆盖所有要求状态的CSS代码如下:

/* 未访问链接默认样式 */
table a:link font {
  color: #ff0000 !important;
  /* 可在此追加其他需要的样式,比如去除下划线等 */
}

/* 已访问链接样式 */
table a:visited font {
  color: #cc0000 !important; /* 替换为你需要的已访问状态颜色 */
}

/* 鼠标悬停样式:同时覆盖未访问、已访问两种状态 */
table a:link:hover font,
table a:visited:hover font {
  color: #ff3333 !important; /* 替换为你需要的悬停状态颜色 */
  text-decoration: underline !important;
}

/* 鼠标点击激活瞬间样式 */
table a:active font {
  color: #ffff00 !important; /* 替换为你需要的激活状态颜色 */
}

如果你担心选择器范围太宽,直接把代码里的table替换成你之前已经调试稳定的表格定位前缀:
body > center:nth-child(1) > center:nth-child(5) > table:nth-child(1)
替换后就只会精准命中你要修改的目标表格,不会产生任何全局样式污染。

额外说明

你之前写好的非链接文本样式可以直接保留,不受上述代码影响。所有规则都加了!important,可以直接覆盖原<font>标签自带的旧颜色属性,不需要修改原站任何HTML代码,完全适配Stylish扩展的样式注入逻辑。

内容的提问来源于stack exchange,提问作者Elerium-115

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 08:24:15