2013-12-16 3 views
0

демо здесь: http://jsfiddle.net/BLZfd/селектор псевдо не работает в моем случае

<div class=" icon_col"> <a href="#"> 
       <div class="someclass"> 
        <span class="someclass again"></span> 
       </div> 
       <p>test</p> 
       </a> 

</div> 

Я сделал это

.icon_col > p: hover { 
    text - decoration: none; 
} 
+2

Ваш пункт не имеет никакого оформления текста; подчеркивание происходит от анкера, обертывающего его. – j08691

+0

Исправлена ​​скрипка: http://jsfiddle.net/BLZfd/11/ (Также ваш CSS был в разделе Javascript) – AeroX

ответ

3

Вы должны изменить его a:hover по причине того, что текст-отделка является по умолчанию стиль a и не связан p элемент.

.icon_col > a:hover { 
    text-decoration: none; 
} 

У вас также есть некоторые избыточные пространства в коде, который я удалил.

Updated fiddle

Стоит также отметить, что селектор > означает «прямой потомок», так что даже если расстояние не было надлежащим (без пробела между селектором, толстой кишки, и селектор псевдо) это правило Wouldn» t соответствовали всем, так как тег <p> не был прямым потомком .icon_col, это был вторичный потомк, вложенный внутри тега <a>.

Если вы действительно хотите предназначаться, что <p> тега, вы можете использовать этот код:

.icon_col > a:hover p { 
    text-decoration: none; 
} 

Обратите внимание на отсутствие пространства между тиром и словами в селекторе text-decoration, а также двоеточие и селектор в a:hover. Пробелы очень важно

0

Почему бы не попробовать это:

.icon_col > a: hover { 
    text - decoration: none; 
} 
Смежные вопросы