2013-03-22 3 views
0

У меня есть следующие jsfiddle установки:Применение CSS непрозрачности в раскрывающемся меню

http://jsfiddle.net/jMrsC/1/

У меня есть выпадающее меню на странице, когда перемещение в папку 2> Folder 2.1 подменю второго уровня открывается, если вы внимательно посмотрите на непрозрачность (довольно сложно увидеть, что вам может понадобиться хороший монитор, чтобы увидеть разницу) второго подменю и первого подменю есть разница. В CSS У меня есть следующий код, который применяет непрозрачность:

.ddsmoothmenu ul li ul li{ 
    display: list-item; 
    float: none; 
    background: #111; 
    opacity: 0.92; 
} 

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

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

Thanks

------------------------ Обновление ---------------- -----

Извините, что я, вероятно, не был ясен раньше, я хотел бы применить непрозрачность для всех подменю уровня, а не просто удалить его.

Благодаря

+0

я м проверить это, но нет problum –

ответ

2

Проблема в том, что непрозрачность также применяется к детям элемента. Поэтому каждый раз, когда вы создаете подменю, каждый раз получая 0,92 от непрозрачности родителя.

Как было предложено, просто удаление непрозрачности с этой линии может работать в вашем случае.

Однако, если вы хотите, чтобы предназначаться подменю, начиная с 2-го уровня, и держать его в соответствии с этого момента, попробуйте следующее:

Удалить непрозрачности из текущего класса, как злоключениях предложил

Во-первых:

.ddsmoothmenu ul li ul li{ 
display: list-item; 
float: none; 
background: #111; 
#opacity: 0.92; <--remove 
} 

Тогда (убедитесь, что это происходит после того, как ваш код выше)

.ddsmoothmenu ul li { 
opacity: 0.50 
} 

==== edit =====

Не уверен, что такое этикет, так что я просто сделаю редактирование. Хотя то, что я предлагаю, решение, данное VenomVendor ниже, более чистое и лучшее. Вместо того, чтобы делать .ddsmoothmenu>ul>li>ul>li, как я ранее предлагал, используйте вместо этого .ddsmoothmenu ul li.

+0

спасибо, идеально работал большой. Спасибо за быстрый ответ и принятый ответ. – Dino

+0

Добро пожаловать. Удачи вам в вашем сайте и спасибо! – ahnkee

0

Просто убирая непрозрачности в этом классе

.ddsmoothmenu ul li ul li{ 
    display: list-item; 
    float: none; 
    background: #111; 
    #opacity: 0.92; 
} 

работал очень хорошо в вашей скрипке.

Подменю считывает его с использованием прозрачности 0.92 уровня над ним.

1

Удалить ul li ul li и обновить его ul li обновленный в http://jsfiddle.net/jMrsC/5/

/*Sub level menu list items (alters style from Top level List Items)*/ 
.ddsmoothmenu ul li ul li{ 
display: list-item; 
float: none; 
background: #111; 
} 

.ddsmoothmenu ul li{ 
opacity: .5; /* value changed to see the difference */ 
} 
.ddsmoothmenu ul li ul li{ 
    opacity: 1; /* this means this class is not required, since default opacity is 1 */ 
} 
Смежные вопросы