添加可见性:隐藏效果并保持<a href=""> download ability</a>

时间:2013-08-19 18:18:49

标签: html css download hover

我的情况有点棘手且难以解释,希望我能清楚地做到这一点。

在我的网站上,我需要它,所以你点击某些内容并下载图片,但是你点击的对象必须允许:hover psuedo类改变:hover上的图像。

我如何设置如下:

http://jsfiddle.net/6NuTv/

如果从HTML中删除visibility:hidden,则会显示图像,并且浏览器的下载功能可用。 我可以选择img src=是哪个图片,但添加visibilty:hidden会停用download能力。

要重申 - 我需要它,以便您将鼠标悬停在prof_wl_btn上,然后下载<a>的{​​{1}}图片,并在hover / mouseover prof_wl_btn上进行更改它的背景位置(到目前为止使用的是psuedo类)。

可能的方法

1:使用javascript onMouseover和Z-Index,但我无法让z-index在这里工作......

2:我尝试使用CSS属性href=...,但这会产生一切。

如果不清楚我很抱歉,这很难解释!我找不到这样的其他帖子。

2 个答案:

答案 0 :(得分:1)

好的重写,因为OP在评论中澄清了。

你可以有一个可以移动的背景图片:悬停,或者如果图像必须在HTML中,那么你确实可以移动它:悬停其父级,但如果你想要alt文字总是显示在这里不会发生。

<a href="downloadlink"><img src="someiImg" alt="Download ze image, yes"></a>

制作一个显示两种状态(正常/悬停)的大图像(someImg)。它们可以是顶部底部或左右两侧。我喜欢上下。假设您要显示的图像是40 xx x 40px。显示两种状态的新精灵图像(如果是上下)将是w 40px乘以h 80px;

  • 将锚点设置为块上下文(显示:block,float,whatever)。
  • 设置锚点上的高度和宽度等于希望观察者看到的图像数量(因此在这种情况下,锚点的宽度和高度为40px)。
  • 将锚点设置为隐藏溢出。现在,您应该只看到希望用户在执行任何操作之前看到的图像的40 x 40部分。

您现在可以将锚点设置为position:relative,将img设置为position:absolute,或者保留它们并使用负边距(您还必须在块上下文中创建img才能执行此操作)。让我们说你做后者:

img {   显示:块; }

a:悬停img,a:focus img {     margin-top:-40px; }

由于锚点已隐藏溢出,您仍然只能看到图像的40 x 40窗口,但现在您可以看到底部部分。作为奖励,你也可以在那里工作。

如果你想使用定位,你需要相对定位锚点,绝对定位img,将图像设置为正常状态为top:0和left:0,以及on hover / focus of image set top :-40px;

答案 1 :(得分:0)

我仍然不完全确定你的意思,但我认为你正在努力做到这一点

a img {visibility: hidden;}
a:hover img {visibility: visible;}

但我认为最好的方法是将链接的背景图像设置为图像,然后在悬停时更改背景图像。