2010-07-27 2 views
0

Эй, ребята, заранее за помощь или помощь. У меня возникли проблемы с пониманием селекторов CSS, и я прочитал документы.Селектор CSS не работает?

Я пытаюсь обратиться к UL с раскрывающимся списком id в моей таблице стилей. Я был в предположении, что я был в состоянии сослаться на какие-либо элементы, как:

#dropdown ul 
{ 
} 

Этот метод, однако, не похоже на работу: s .. Могу ли я недопонимание CSS селекторы? Элементы моего фактического кода вложены глубже этой структуры, но я предполагаю, что принцип тот же самый?

<div id="wrapper"> 

    <ul id="dropdown"> 
     <li class="sub"><a href="#">Dropdown</a> 

     <!-- Sub Menu --> 
     <ul> 
     <li><a href="#">Item 1</a></li> 
     <li><a href="#">Item 2</a></li> 
     </ul> 
     <!-- End Submenu --> 

    </li> 
    </ul> 

</div> 


/* Dropdown Menu */ 
#dropdown ul 
{ 
    font-family: Arial, Verdana; 
    font-size: 14px; 
    margin: 0; 
    padding: 0; 
    list-style: none; 
} 

#dropdown ul li 
{ 
    display: block; 
    position: relative; 
    float: left; 
} 

#dropdown li ul 
{ 
    display: none; 
} 

#dropdown ul li a 
{ 
    display: block; 
    text-decoration: none; 
    color: #ffffff; 
    border-top: 1px solid #ffffff; 
    padding: 5px 15px 5px 15px; 
    background: #2C5463; 
    margin-left: 1px; 
    white-space: nowrap; 
} 

#dropdown ul li a:hover 
{ 
    background: #617F8A; 
} 

#dropdown li:hover ul 
{ 
    display: block; 
    position: absolute; 
} 

#dropdown li:hover li 
{ 
    float: none; 
    font-size: 11px; 
} 

#dropdown li:hover a 
{ 
    background: #617F8A; 
} 

#dropdown li:hover li a:hover 
{ 
    background: #95A9B1; 
} 
+0

В чем проблема? Он работает отлично. Вы можете поделиться своей таблицей стилей и указать, какой атрибут терпит неудачу. – Kangkan

+0

Добавлен css, который генерирует выпадающий список – Lee

+0

Kangkan, Lee хочет выбрать '# dropdown', но в настоящее время выбирает' ul # dropdown', что является совершенно другим выбором. –

ответ

4

Попробуйте

ul#dropdown 
{ 
} 

Это будет выбрать уль элемент с идентификатором выпадающего меню.

С

#dropdown ul 

вы пытаетесь найти уль элемент в пределах элемента с идентификатором выпадающего списка. Это выберет все ul элементы внутри #dropdown ul, однако много уровней в глубину.

+0

Спасибо за ответ .. Я добавил то, что вы предложили моему файлу CSS, но он не работал. Я отредактировал исходное сообщение, чтобы показать CSS, который должен стилизовать раскрывающийся список. – Lee

+0

CSS в вашем обновлении не соответствует тому, что предложил Марио. – Chris

+0

Решение Marios отлично подходит для элемента ul. Однако следующая строка: li a { дисплей: блок; text-decoration: none; цвет: #ffffff; border-top: 1px solid #ffffff; обивка: 5px 15px 5px 15px; фон: # 2C5463; margin-left: 1px; white-space: nowrap; } до: ul # выпадающий лист a a, похоже, сломался – Lee

1

Редактировать: это правильно, как писал марио.

edit2: им жаль, что за 5 секунд слишком медленно, я просто хотел помочь. Для сдачи моего поста: ul#dropdown или #dropdown правильный выбор

+0

Кажется не работает: s – Lee

+0

Спасибо за помощь .. ul # dropdown отлично работает для элемента mian UL .. Кажется, существует проблема с изменением более сложных селекторов. – Lee

+0

Экзамен: li a - works ul # dropdown li a - does no – Lee

0

#dropdown ul означает «выбрать любой ul который является прямым или косвенным потомком #dropdown». Думаю, это не то, что вы хотите. Попробуйте #dropdown (не обязательно указывать ul, так как идентификаторы являются эксклюзивными, то есть вы должны иметь только один #dropdown на странице).

Смежные вопросы