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

HTML/CSS 如何为带a链接的图片添加点击后显示的文字

实现方案

方案1:原生JavaScript实现(功能更灵活)

核心逻辑为阻止a标签默认跳转行为,点击时切换下方文字的显示状态:

<a href="https://interactive-examples.mdn.mozilla.net/media/cc0-images/grapefruit-slice-332-332.jpg" class="img-link">
    <img alt="Qries" src="https://interactive-examples.mdn.mozilla.net/media/cc0-images/grapefruit-slice-332-332.jpg"
         width="150" height="70">
    <p class="img-tip" style="display: none;margin: 5px 0 0 0;">此处替换为你要展示的指定文字</p>
</a>
const imgLinks = document.querySelectorAll('.img-link');
imgLinks.forEach(link => {
  link.addEventListener('click', function(e) {
    // 阻止默认跳转图片的行为
    e.preventDefault();
    const tip = this.querySelector('.img-tip');
    // 切换显隐:点击一次显示,再次点击隐藏,不需要切换可直接写tip.style.display = 'block'
    tip.style.display = tip.style.display === 'none' ? 'block' : 'none';
  })
})

方案2:纯CSS实现(无需脚本,轻量简便)

利用focus伪类实现点击显隐,无需写JavaScript代码:

<!-- 加tabindex属性支持元素触发focus,href="javascript:void(0)避免跳转 -->
<a href="javascript:void(0)" tabindex="0" class="css-img-link">
    <img alt="Qries" src="https://interactive-examples.mdn.mozilla.net/media/cc0-images/grapefruit-slice-332-332.jpg"
         width="150" height="70">
    <p class="css-img-tip">此处替换为你要展示的指定文字</p>
</a>
.css-img-link {
  display: inline-block;
  cursor: pointer;
}
.css-img-tip {
  display: none;
  margin: 5px 0 0 0;
}
/* 点击元素获得焦点时显示文字,点击页面其他区域自动隐藏 */
.css-img-link:focus .css-img-tip {
  display: block;
}

方案差异说明

  • JavaScript方案:可自定义交互逻辑,支持永久显示、添加过渡动画等扩展需求,适配场景更广
  • CSS方案:代码量少无额外脚本依赖,点击页面其他位置文字会自动隐藏,适合简单交互场景

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 00:06:02