我试图让一个文本链接显示在部分透明的图像上,而这个图像又位于纯色背景的顶部.我希望在打印页面时打印链接文本和图像,而不是彩色背景.(这就是为什么我没有使用background-image属性)
问题是虽然链接显示在图像的顶部,并且图像根据需要显示在背景的顶部,但无法单击链接.在我看来,如果链接出现在顶部,那么它应该容易受到鼠标事件的影响......
这种情况至少发生在以下浏览器中:Firefox 6.0(Windows + Linux),Firefox 3.6(Windows)和Internet Explorer 7.
如果这是我的HTML/CSS或浏览器的问题,请有人告诉我吗?
这里有一些HTML来演示这个问题:
<html>
<head>
<title>Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<div style="position: relative;z-index: -2; background-color:#333; height:200px;">
<img style="position: absolute;top: 0;left: 0;z-index: -1;" src="http://upload.wikimedia.org/wikipedia/commons/thumb/4/47/PNG_transparency_demonstration_1.png/280px-PNG_transparency_demonstration_1.png" alt="Dice" />
<a style="padding:50px; color:#fff;z-index:0;" href="#">Can you click me?</a>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
干杯!
亚历克斯
sha*_*hat 56
问题主要是使用负z-index值引起的,这似乎是使父div捕获鼠标事件.使用正索引,并分配position:relative给链接以获得预期的行为,因为没有显式定位,z-index将不会执行任何操作.
上述解决方案均不适用于我的特定问题。我建议首先使用上述解决方案,如果这不起作用,请将指针事件设置为无(不适用于 IE<=10)。
.some-horizontal-container {
pointer-events: none;
}
Run Code Online (Sandbox Code Playgroud)
您还可以visibility: hidden用于覆盖其下可点击元素的 div。
请查看这篇文章了解更多详情:https : //blog.lysender.com/2014/09/css-elements-covered-by-a-container-div-not-clickable/