首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当鼠标仅停留在图像中心时,在图像顶部显示链接并降低图像不透明度?

要实现这个效果,你可以使用HTML、CSS和JavaScript来完成。以下是一个简单的示例:

HTML

代码语言:txt
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Image Hover Effect</title>
    <link rel="stylesheet" href="styles.css">
</head>
<body>
    <div class="image-container">
        <img src="your-image.jpg" alt="Your Image" class="image">
        <a href="your-link.html" class="link">Link</a>
    </div>
    <script src="script.js"></script>
</body>
</html>

CSS (styles.css)

代码语言:txt
复制
.image-container {
    position: relative;
    display: inline-block;
}

.image {
    width: 100%;
    transition: opacity 0.3s ease;
}

.link {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    text-align: center;
    background-color: rgba(0, 0, 0, 0.5);
    color: white;
    padding: 10px 0;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.image-container:hover .image {
    opacity: 0.7;
}

.image-container:hover .link {
    opacity: 1;
}

JavaScript (script.js)

代码语言:txt
复制
document.addEventListener('DOMContentLoaded', () => {
    const imageContainer = document.querySelector('.image-container');
    const link = document.querySelector('.link');

    imageContainer.addEventListener('mousemove', (event) => {
        const rect = imageContainer.getBoundingClientRect();
        const centerX = rect.left + rect.width / 2;
        const centerY = rect.top + rect.height / 2;

        if (event.clientX >= centerX - 5 && event.clientX <= centerX + 5 && event.clientY >= centerY - 5 && event.clientY <= centerY + 5) {
            link.style.display = 'block';
        } else {
            link.style.display = 'none';
        }
    });

    imageContainer.addEventListener('mouseleave', () => {
        link.style.display = 'none';
    });
});

解释

  1. HTML: 创建一个包含图像和链接的容器。
  2. CSS:
    • 设置图像容器的相对定位。
    • 设置图像的初始透明度,并在悬停时降低透明度。
    • 设置链接的绝对定位,初始透明度为0,并在悬停时显示。
  • JavaScript:
    • 监听鼠标移动事件,判断鼠标是否在图像中心附近。
    • 如果在中心附近,显示链接;否则隐藏链接。
    • 监听鼠标离开事件,隐藏链接。

应用场景

这个效果可以用于图像库、产品展示页面等,当用户将鼠标悬停在图像中心时,显示更多信息或操作链接。

参考链接

通过这种方式,你可以实现一个交互性强、用户体验好的图像悬停效果。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券