Пока изображение, которое вы хотите выделить, является родным братом или потомком элемента, над которым вы наводите курсор, это можно сделать относительно легко.
Siblings
<div>
<img class="thumbnail" src="path/to/thumb.png" />
<img class="fullSize" src="path/to/Full.png" />
</div>
.thumbnail:hover + .fullsize {
display: block;
}
Наследники
<ul>
<li><img class="thumbnail" src="path/to/thumb.png" />
<ul>
<li class="fullsize"><img src="path/to/full.png" /></li>
<li class="desc">Description text for above image</li>
</ul>
</li>
</ul>
.thumbnail .fullsize,
.thumbnail .desc {
display: block;
}
Для обратного (навести курсор на изображение для отображения меню) невозможно с помощью CSS, поскольку каскад является односторонним. Это относительно легко реализовать с помощью JavaScript, но я могу предложить только jQuery (к моему стыду):
$(document).ready(
function(){
$('.fullsize.').hover(
function() {
$(this).closest('.thumbnail').show();
}
);
}
);
Мне любопытно, что почему вы хотите использовать этот подход, кажется, что вы хотите навести указатель мыши на любой элемент (в данном случае 'thumbnail' и 'fullsize'), чтобы показать другой? Это подразумевает, что один или оба из этих предметов будут одновременно невидимыми / скрытыми. В таком случае, как пользователь узнает, что он существует для взаимодействия?
Демонстрация в JS Bin (на основе братьев и сестер).
<ч />
Вот альтернатива для отношений «где угодно на странице» между ними:
Демонстрация: в JS Bin .
HTML:
$(document).ready(
function(){
$('.fullsize, .thumbnail').mouseover(
function() {
var currId = $('.fullsize').index();
if ($(this).hasClass('thumbnail')) {
var toShow = '.fullsize';
}
else {
var toShow = '.thumbnail';
}
$(toShow).eq(currId).addClass('show');
}
);
$('.fullsize, .thumbnail').mouseout(
function() {
var currId = $('.fullsize').index();
if ($(this).hasClass('thumbnail')) {
var toShow = '.fullsize';
}
else {
var toShow = '.thumbnail';
}
$(toShow).eq(currId).removeClass('show');
}
);
}
);
Он немного отличается от @ BenWells 'тем, что для него не требуется явная связь, но для требуется, чтобы thumbnails
был в том же порядке, что и их элементы fullsize
(или наоборот), так как они основаны на их индексных позициях.