2015-05-18 2 views
0

У меня есть два элемента внутри контейнера. Я бы хотел, чтобы при наведении на первую границу граница становилась желтой, а при наведении второй границы первой становится желтой.a href hover влияет на другой a href

вот мой код:

<div class="container"> 
    <a href="#" class="href1"></a> 
    <a href="#" class="href2"></a> 
</div 

.href1, .href2 
{ 
    display:block; 
    width:100px; 
    height:100px; 
} 

.href1 
{ 
    background:red; 
    border:2px solid #000; 
    margin-bottom:30px; 
} 

.href1:hover 
{ 
    border-color:yellow; 
} 

.href2 
{ 
    background:blue; 
} 

.href2:hover .href1 
{ 
    border-color:yellow; 
} 

я сделал пример http://jsfiddle.net/df5dwsq8/

я не знаю, почему это не работает. если бы кто-то мог мне помочь, я был бы признателен.

+3

«Я не знаю, почему это не работает *» - это не работает, потому что в CSS нет способа выбрать предыдущий элемент (или родительский) текущего элемента; и ваш селектор: '.href2: hover .href1' выберет элемент класса 'href1' внутри зависающего элемента с классом 'href2', который не соответствует вашему HTML. –

+0

Я понимаю сейчас .. так что единственный способ достичь этого - javascript? – DMande

+0

Да, для этого требуется JavaScript. –

ответ

0

CSS:

.href1, .href2 
    { 
     display:block; 
     width:100px; 
     height:100px; 
    } 

.href1 
    { 
     background:red; 
     border:2px solid #000; 
     margin-bottom:30px; 
    } 

.href1:hover 
    { 
     border-color:yellow; 
    } 

.href2 
    { 
     background:blue; 
     border:2px solid #000; 
    } 

.href2:hover 
    { 
     border-color:yellow; 
    } 

Является ли это то, что вам нужно: http://jsfiddle.net/jani11bolkvadze/df5dwsq8/1/ ??

+0

Нет, я хочу, когда наведите указатель мыши на второй (синий), тогда первый цвет границы станет желтым – DMande

+0

используйте этот скрипт $ (". href1"). hover (function() { $ (". href2 "). css (" border "," 2px solid yellow "); }); –