2013-06-30 2 views
1

Я создаю выпадающее меню только с CSS, и это не так просто, как я это сделал. Пока у меня есть фактическое раскрывающееся меню, но ширина - это ширина родительского элемента, которая слишком мала, чтобы определенные элементы отображались в одной строке.Адаптированная ширина в раскрывающемся меню CSS

Menu width too short

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

Все файлы сайта находятся здесь: http://dev.cuonic.com/bourree/

Любая помощь приветствуется, спасибо :)

ответ

0

Вот решение, которое не использует фиксированную ширину для раскрывающихся.

Во-первых, добавьте следующую строку в CSS для ссылок в раскрывающихся:

#menu ul ul li a { 
    white-space: nowrap; 
} 

Я также должен был изменить #menu ul и #menu ul li к #menu > ul и #menu > ul > li, соответственно, так, что бы применить эти стили CSS только до пунктов меню первого уровня.

Вот базовая ссылка об использовании > в селекторах CSS. Я думаю, что есть и другие места в этом примере, где бы помочь:

http://reference.sitepoint.com/css/childselector

+0

Я пробовал ваше решение, оно сработало, я изменил цвет фона и селекторов с помощью дочерних селекторов, как вы предложили, и теперь это белое пространство: nowrap; стиль, похоже, не имеет никакого эффекта. Я обновил демонстрационный сайт с изменениями: http://dev.cuonic.com/bourree/ –

+0

Похоже, вы написали его как «белое пространство: нет-обернуть». Измените это на 'white-space: nowrap' (без тире), и вы должны быть настроены. –

+0

Ха не видел этого, спасибо, что решил это :) –

0

играя в firefox/firebug Я обнаружил, что эта комбинация, казалось, давала желаемый эффект:

#menu ul ul li { 
    display: block; 
    float: left; 
    left: -34px; 
    position: relative; 
    width: 200px; 
} 

enter image description here

+0

Это является возможным решением, но я не хочу, чтобы установить ширину вручную, как это, и когда я добавил цвет фона sub ul, он стал беспорядочным, текст и поле ошибочно выровнены. Спасибо в любом случае :) –

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