问问题
2973 次
5 回答
3
几种方法:
如果您可以控制 HTML,并且可以添加包装元素,则可以将它们放在一个包含元素中,并使用 CSS。
<div class="hoverable"> <a class="image_is_displayed_using_this"></a> <a class="text_with_it">Text here</a> </div>
然后对于 CSS:
.hoverable:hover > .text_with_it { color: red; } /* Or replace *red* with whatever color you want */
这通过使文本根据被悬停的父级更改颜色来工作 - 当鼠标悬停在图像
a
或文本上时,这将是真的a
。如果您的文字
a
总是紧跟在您的图片之后a
,并且您需要在悬停时进行的唯一更改是对以下内容的更改text
:<a class="image_is_displayed_using_this"></a> <a class="text_with_it">Text here</a>
然后对于 CSS:
.text_with_it:hover, .image_is_displayed_using_this:hover + .text_with_it { color: red; }
这将使每当您将鼠标悬停在图像或文本上时,文本的颜色都会改变。但请注意,它有点脆弱 - 因为它依赖于您的 HTML 以特定方式布局。
使用
IMG
标签——这就是它们存在的目的。<a class="text_with_it"> <img src="your_image_url.png" /> Text here </a>
然后对于 CSS:
a.text_with_it:hover { color: red; }
最后——如果你需要用 jQuery 来做,试试这个:
var selector = '.image_is_displayed_using_this, .text_with_it'; $(selector).hover(function (ev) { $(this).siblings(selector).add(this).addClass('hovered'); }).mouseout(function (ev) { $(this).siblings(selector).add(this).removeClass('hovered'); });
然后对于 CSS:
a.hovered { color: red; }
这是一个 jsFiddle显示它工作(非常简单)。
于 2013-05-16T22:51:06.840 回答
2
我会将它们都包装在一个元素中,<div class="hoverable"><a><img/></a><a>text</a></div>
然后设置 css.hoverable:hover { color: yellow; }
于 2013-05-16T22:45:46.027 回答
0
使用 CSS?在悬停时将文本更改为红色
a :hover { color: # }
当您将鼠标悬停在图像上时也应该可以工作,因为它们都是“a”元素
于 2013-05-16T22:43:52.470 回答
0
仅根据您的描述,在 jquery 中最简单:
$('a.image_is_displayed_using_this').hover( function() {
$('a.text_with_it').css('background-color','gray');
}, function() {
$('a.text_with_it').css('background-color','white');
});
于 2013-05-16T22:52:41.880 回答
0
如果你可以使用 jQuery,你可以做这样的事情
$(document).ready(function(){
$("a.image_is_displayed_using_this").mouseout(function(){
$("a.text_with_it").css("color", "black");
}).mouseover(function(){
$("a.text_with_it").css("color", "red");
});
});
于 2013-05-16T22:55:29.973 回答