
本文教你如何在 google sites 等支持自定义 html 的平台中,将具有黑白→彩色悬停效果的图片封装为可点击跳转的超链接,无需编程基础,仅需添加少量 html、css 和 javascript 即可实现。
本文教你如何在 google sites 等支持自定义 html 的平台中,将具有黑白→彩色悬停效果的图片封装为可点击跳转的超链接,无需编程基础,仅需添加少量 html、css 和 javascript 即可实现。
要让一张具备 CSS 悬停变色效果的图片同时成为有效链接,核心思路是:不依赖 <a></a> 标签包裹(因可能破坏滤镜过渡动画),而是通过 JavaScript 为图片绑定点击事件。这种方式兼容性强,且能完美保留你已有的黑白/彩色渐变动画。
以下是完整、可直接粘贴到 Google Sites “嵌入 HTML” 组件中的优化代码(已整合并增强健壮性):
<div class="primary">
<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/3/31/Across_the_lake_to_Vanbrugh_-_geograph.org.uk_-_4795570.jpg/640px-Across_the_lake_to_Vanbrugh_-_geograph.org.uk_-_4795570.jpg"
alt="风景图" />
</div>
<style type="text/css">
.primary {
cursor: pointer;
display: inline-block; /* 确保容器尺寸适配图片,避免布局异常 */
}
.primary img {
filter: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='grayscale'><feColorMatrix type='matrix' values='0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0'/></filter></svg>#grayscale");
-webkit-filter: grayscale(100%);
filter: grayscale(100%);
transition: all 0.2s ease-in;
max-width: 100%;
height: auto;
}
.primary:hover img {
filter: none;
-webkit-filter: none;
}
/* 可选:添加轻微缩放增强交互感 */
.primary img:hover {
transform: scale(1.02);
}
</style>
<script>
// 等待 DOM 加载完成后再执行,确保元素存在
document.addEventListener('DOMContentLoaded', function() {
const targetImg = document.querySelector('.primary img');
if (targetImg) {
targetImg.addEventListener('click', function() {
// 替换为你想跳转的目标 URL(支持相对路径或绝对路径)
const targetUrl = 'https://www.zerohedge.com/';
// 在新标签页打开(_blank),也可改为 '_self' 在当前页跳转
window.open(targetUrl, '_blank').focus();
});
// 可选:为键盘用户添加回车键支持(提升无障碍体验)
targetImg.setAttribute('tabindex', '0');
targetImg.addEventListener('keydown', function(e) {
if (e.key === 'Enter' || e.key === ' ') {
e.preventDefault();
this.click();
}
});
} else {
console.warn('未找到目标图片元素,请检查 class 名称是否匹配');
}
});
</script>✅ 关键说明与注意事项:
-
URL 自定义:将
window.open()中的'https://www.zerohedge.com/'替换为你实际的目标页面地址(如'/about'或'https://your-site.com/contact')。 -
跳转方式:
'_blank'表示新窗口打开;若需当前页跳转,请改为'_self'。 -
无障碍支持:代码已添加
tabindex和keydown监听,使键盘用户(如 Tab 导航+回车)也能触发跳转。 -
兼容性保障:
DOMContentLoaded确保脚本在页面结构就绪后运行,避免因加载顺序导致的null错误。 -
Google Sites 提示:该平台会自动清理部分 JS(如
eval或内联事件),但上述标准addEventListener写法完全兼容;如遇失效,请确认 HTML 插件已启用且未被平台过滤。
通过此方案,你既能保留原生 CSS 的流畅悬停动画,又能赋予图片明确的导航功能——真正实现「视觉反馈 + 功能交互」的双重体验。

















