如何使背景图像可点击(javascript或css)

时间:2012-01-10 22:15:17

标签: javascript jquery css background-image clickable

请查看此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都是首选。

编辑:我不想使用图像浮动到右上角。

5 个答案:

答案 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;}

Demo

答案 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)

这是一个使用位置相对+绝对

的简单示例

http://jsfiddle.net/RZWCS/

您还可以考虑绝对定位链接并将该图像用作链接背景(链接的文本可能出现在图像上,并使用负文本缩进或类似技术移到外面)

答案 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/>