2016-05-13 2 views
1

Я построил выпадающее меню, используя только html и css. Я бы хотел сосредоточить раскрывающийся контент в раскрывающемся меню, когда он щелкнут.Центрирование ul или li в выпадающем меню

В моем коде это будет центрирование фиолетового сечения относительно светло-голубой секции. Мой код - https://jsfiddle.net/92uhs075/

Любые предложения по этому поводу?

Я попытался сменить <ul> display: table, а затем <li> float: left, изменяя поля вокруг (0 авто) и отрицательные временами, но ничего не работает для меня.

Благодарим вас за руководство.

+0

вы имеете в виду, что вы просто хотите фиолетовый ниже синий? Ваша синяя полоса - полная длина экрана, а ваш фиолетовый - так, поэтому я не уверен, что вы имеете в виду, центрируя. – haltersweb

+0

Если вы увеличиваете размер окна, вы увидите, что фиолетовый короче, чем синий. Когда это будет короче, я хочу, чтобы фиолетовый был центрирован над синим. Имеет ли это смысл? Спасибо – Andrew

ответ

1

С вашего ул абсолютно позиционирован переместить его в правый 50%, а затем преобразовать его обратно влево на 50%:

ul { 
    left: 50%; 
    transform: translateX(-50%); 
} 
+0

Это работает! Большое вам спасибо за решение. Я возился, проверяя, как долго это происходит. – Andrew

+0

На втором взгляде кажется, что добавление кода в тег ul уменьшает элементы списка, чтобы отображать только последние три. Есть ли способ получить все 5 из них для отображения? Я проверю, будет ли ширина или что-то удерживать их обратно. – Andrew

+0

Поскольку элементы списка являются 'display: inline-block', вы можете добавить' white-space: nowrap; 'в url, а также сохранить содержимое li из упаковки. – haltersweb

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