#html #css
#HTML #css
Вопрос:
У меня есть два div, настроенных с
display: inline-block.
Я не знаю почему, но второй div всегда немного опускается по сравнению с первым
div
точно так же, как у него будет настроен верхний предел. Как сделать второй div полностью встроенным в первый div и как расположить
<ul>
вертикально и горизонтально в центре второго div?
Вот Codepen: http://codepen.io/anon/pen/EJhBK
Границы не предусмотрены в окончательном проекте. Я разместил их, чтобы визуально показать положение каждого divs.
Спасибо!
Комментарии:
1. Использовать
vertical-align:top
Ответ №1:
#nav {
width: 446px;
display: inline-block;
border: 1px solid green;
vertical-align:top
}
добавьте выравнивание, это должно сработать.
Комментарии:
1. Спасибо за такой быстрый ответ. Я попробую это прямо сейчас.
2. Правильно ли это, если затем я добавлю position:absolute к моему <ul> и попытаюсь расположить его в середине навигационного контейнера? Или есть лучший способ?
3. @Danny_Student Ты можешь. Я бы использовал
position: relative;
в родительском контейнере (<div id="nav">
), чтобы<ul>
он был расположен абсолютно относительно#nav
, а не абсолютен для документа.4. Owkie dowkie. Кстати. просто интересно — почему область элемента nav расширилась, когда я добавил верхний край к элементу <ul> ? Я думал, что такое происходит, только если я добавлю дополнение.
Ответ №2:
удалите display: inline-block;
и используйте float:left
Комментарии:
1. Но для какого элемента? Первый div, который является «логотипом» или «навигацией»? И нужно ли мне после этого делать так называемые «очищающие поплавки»? Спасибо
2. поместите его в элемент #nav, вам не нужно выполнять очистку поплавков
3. Спасибо за ответы. Я уже использовал метод, предложенный @Mathijs Segers