请查看此fiddle
如何使背景图像可点击?点击“参加调查”将转到新页面。
<div style="height:300px;width:300px;border-style:solid;border-width:5px;background-image:url('http://cdn.survey.io/embed/1.0/right_top_blue.png'); background-repeat:no-repeat;background-position:right top;">
By default, the background-image property repeats an image both horizontally and vertically.
</div>
Javascript或CSS都是首选。
编辑:我不想使用图像浮动到右上角。
答案 0 :(得分:4)
你不应该。
如果用户关闭了样式或正在使用屏幕阅读器,该怎么办?他们也应该能够参加调查。
div{position:relative;}
a {display:block; width:120px; height:120px;
position:absolute;
top:0; right:0;
text-indent:-9999px;
background-image:url('http://cdn.survey.io/embed/1.0/right_top_blue.png');
background-repeat:no-repeat;background-position:right top;}
答案 1 :(得分:1)
点击此处了解详情:http://bluedogwebservices.com/css-trick-turning-a-background-image-into-a-clickable-link/
此外,你可以使div相对,然后只需将图像用锚包裹并将其绝对放在右上角。
修改
HTML
<div class="wrapper">
<a href="/"><img src="yoursrc" alt="description"/></a>
<p>Some other text regularly positioned.</p>
<div>
CSS:
.wrapper
{
position:relative;
width:500px;
height:500px;
}
.wrapper a
{
position:absolute;
top:0px;
right:0px;
}
答案 2 :(得分:1)
这是一个使用位置相对+绝对
的简单示例您还可以考虑绝对定位链接并将该图像用作链接背景(链接的文本可能出现在图像上,并使用负文本缩进或类似技术移到外面)
答案 3 :(得分:0)
我可能在这里错了,但我不认为CSS背景可以包含绑定到它们的事件。我个人会用透明的div来覆盖它,或者使用真实的图像来挖掘DOM元素的事件。
如果有人有办法这样做,我会感兴趣:)
答案 4 :(得分:0)
只需将div转换为<a>
元素?
<a href="mysite.com"
style="display: block;
height:300px;
width:300px;
border: 5px solid;
background: url('http://cdn.survey.io/embed/1.0/right_top_blue.png') right top no-repeat;">
<a/>