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

如何为图片链接应用滤镜?已访问链接图片灰度化失效问题

问题:已访问链接内图片无法应用灰度滤镜

我尝试为嵌入图片的已访问链接添加样式,期望链接被访问后图片转为灰度效果,但始终无法实现。将样式应用到.image类上时,灰度滤镜也完全无效。我在cargo.site平台使用此代码,不确定是否会造成影响,代码如下:

<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="UTF-8">

<style>
* {
  box-sizing: border-box;
}

.column {
  background-color: #000;
  float: left;
  width: 50%;
  max-height: 35vw;
  padding: none;
}

/* Remove extra left and right margins, due to padding */
.row {
  margin: 0 -5 0 -5;
}

/* Clear floats after the columns */
.row:after {
  content:"";
  padding: 0;
  display: table;
  clear: both;
}

/* Responsive columns */
@media screen and (max-width: 600px) {
  .column {
    width: 100%;
    min-height: 65vw;
  }
}

.container {
  padding: 0;
  position: relative;
  text-align: center;
}

.image {
    -webkit-filter: brightness(60%);
     transition: all .33s ease;
}

a:hover .image {
    -webkit-filter: brightness(85%);
    -webkit-transition: all .33s ease;
    -moz-transition: all .33s ease;
    -o-transition: all .33s ease;
    -ms-transition: all .33s ease;
    transition: all .33s ease;
    cursor: pointer;
}

a:link{
color: #fff;
cursor: pointer;
}

  a:visited{
    -webkit-filter: grayscale (1);
    
  }

.title{
  font-family: "Helvetica Neue", Helvetica, sans-serif, "Helvetica   Neue Regular", Icons;
  font-size: 10vmin;
  color: white;
  position: absolute;
  opacity:  1;
  padding: 0;
  top: 50%;
  left: 50%;
  text-align: center;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  transition: all .33s ease;

  
}

.date {
  font-family: "Helvetica Neue", Helvetica, sans-serif, "Helvetica   Neue Regular", Icons;
  font-size: 5vmin;
  color: white;
  text-align: center;
  font-weight: 400;
  transition: all .33s ease;

}

</style>

<section>
<div class="row">
  <div class="column">
    <div class="container">
      <a href="#" rel="history"><img class="image" src="https://freight.cargo.site/t/original/i/9f804a9700e1be685a2f382b246ae88a5d0547a043d90f4fb5526547ad2159a0/FASTLANE_Comrie_62x75cm_Oil-on-Linen_Crop_v02.jpg" style="width: 100%;" alt="Issue 2: Cover Image">
       </a>
      </div>
    </div>
    
    <div class="column">
    <div class="container">
      <a href="#" rel="history"><img class="image" src="https://freight.cargo.site/t/original/i/c9228501460781092300db921381bddcfdf7376b1d78b1d953fbe30800702051/Cover-image-crop_v01.jpg" style="width: 100%;" alt="Issue 1: Cover Image">
       </a>
      </div>
    </div>    
  </div>
</section>

修复方案

1. 修正滤镜作用对象与语法错误

当前代码把滤镜应用在<a:visited>标签上,而滤镜需要作用于图片元素;同时grayscale (1)的空格是无效语法。修改为:

a:visited .image {
  -webkit-filter: grayscale(100%);
  filter: grayscale(100%);
}

2. 处理平台样式覆盖(可选)

如果cargo.site的全局样式优先级更高,可临时添加!important测试(不推荐长期依赖):

a:visited .image {
  -webkit-filter: grayscale(100%) !important;
  filter: grayscale(100%) !important;
}

3. 补充说明

  • 浏览器对:visited伪类有安全限制,但滤镜属性是允许生效的;
  • 确保<a>标签的href是真实可被标记为已访问的链接(#锚点可能不会被浏览器记录为已访问,可尝试真实路径测试)。

内容的提问来源于stack exchange,提问作者nat0101

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 12:43:30