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

如何仅用CSS而非JS实现点击切换图片src属性

仅用CSS实现鼠标点击时切换图片

CSS没办法直接修改<img>标签的src属性——毕竟CSS负责样式渲染,不能改动HTML元素的属性值。不过可以用几种替代方案实现点击切换图片的视觉效果:

方案1:用容器的背景图切换

把图片放到一个容器(比如<div>)里,通过background-image切换:

<div class="clickable-image"></div>
.clickable-image {
  width: 300px;
  height: 200px;
  /* 默认显示的图片 */
  background-image: url("default-image.jpg");
  background-size: cover;
  background-position: center;
  cursor: pointer;
}

/* 点击时切换背景图 */
.clickable-image:active {
  background-image: url("active-image.jpg");
}

方案2:双图片叠加切换

用两个<img>标签叠加,通过opacity控制显示状态:

<div class="img-container">
  <img src="default-image.jpg" alt="默认图" class="base-img">
  <img src="active-image.jpg" alt="点击图" class="hover-img">
</div>
.img-container {
  position: relative;
  width: 300px;
  height: 200px;
  cursor: pointer;
}

.img-container img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 默认隐藏点击时的图片 */
.hover-img {
  opacity: 0;
  transition: opacity 0.2s ease; /* 可选:添加过渡动画 */
}

/* 容器被点击时,显示点击图 */
.img-container:active .hover-img {
  opacity: 1;
}

注意:如果你坚持要用单个<img>标签,纯CSS是做不到修改它的src属性的,只能用上面的替代方案来实现相同的视觉效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 22:04:55