Почему я не могу использовать селекторы действий с дочерними элементами

Вот простой HTML-код с, как мне казалось, простым CSS (обратите внимание, что два элемента являются ссылками, а два — нет):

<html>
  <head>
    <style>
      li.menu:hover {
        background-color: #0ff;
      }

      li.menu a {
        background-color: #0f0;
      }

      li.menu a:hover {
        background-color: #00f;
      }
    </style>
  </head>
  <body>
    <ul>
      <li class="menu"><a>item1</a></li>
      <li class="menu"><a>item2</a></li>
      <li class="menu">item3</li>
      <li class="menu">item4</li>
    <ul>
  </body>
</html>

Теперь в Firefox это работает, как я и ожидал, а в Chrome (v24) — нет.

Я ожидаю, что item1 и item2 будут иметь #0f0 (зеленый) цвет, когда они не зависают выше, и #00f (синий) цвет при зависании. Но они всегда зеленые (в Chrome)! Так почему же :hover работает для item3 и item4, но не для item1 и item2?

Есть ли способ, который также будет работать в Chrome и при этом будет таким же простым?


person zmilojko    schedule 20.02.2013    source источник
comment
Вроде работает в ФФ   -  person Kevin Bowersox    schedule 20.02.2013
comment
@KevinBowersox - Вы правы. Редактирование вопроса, чтобы указать, что это касается только Chrome. Также сделаю пример в одном файле, для облегчения тестирования... Действительно странно, что Chrome это не нравится.   -  person zmilojko    schedule 20.02.2013
comment
Кажется, здесь работает как в FF, так и в Chrome v24 (пример).   -  person Ruben Infante    schedule 20.02.2013
comment
@RubenInfante тьфу! используйте jsfiddle man! этот codepen очень медленный   -  person abbood    schedule 20.02.2013
comment
@abbood Обычно я использую jsfiddle, но когда я писал комментарий, служба не работала. Честно говоря, я думаю, что наличие вариантов и нескольких услуг — это хорошо. Кроме того, на моей машине он не медленнее, чем jsfiddle.   -  person Ruben Infante    schedule 20.02.2013
comment
Для меня это не работает в Chrome. Это действительно странно! Для справки, сейчас я на Windows, но какое это имеет значение? Я открыл файл как файл://... и через Apache как http://...   -  person zmilojko    schedule 20.02.2013


Ответы (1)


определите li:hover a:hover и он должен работать.

person Daniel Ursu    schedule 20.02.2013