#html #css
#HTML #css
Вопрос:
Внутри другого div есть два подразделения, которые также обернуты div
<div id="main">
<div id="wrap">
<div id="content">
Hello how are you<br/>
Hello how are you<br/>
Hello how are you<br/>
</div>
<div id="nav">
<div id="menu">
<ul>
<li><a href="#page1">PAge1</a></li>
<li><a href="#page1">PAge1</a></li>
<li><a href="#page1">PAge1</a></li>
<li><a href="#page1">PAge1</a></li>
</ul>
</div>
</div>
</div>
</div>
Итак, один из разделов содержит несколько абзацев, которые упомянуты выше как привет, как дела, а другой — горизонтальное меню
Итак, вот мой код CSS
#wrap
{
width: 100%;
margin: 0 auto;
text-align: center;
}
#content
{
background-color: yellow;
width: 30%;
}
#main
{
width: 100%;
padding: 0px;
margin: 0px;
background-color: red;
padding: 10px;
}
#main div div
{
display: inline-block;
}
#nav
{
margin-left: 30px;
}
ul
{
padding: 0px;
margin: 0px;
list-style-type: none;
}
#menu li
{
display: inline-block;
padding: 5px;
border: 1px solid yellow;
}
#menu li a
{
text-decoration: none;
color: yellow;
}
Теперь проблема в том, почему горизонтальное меню не находится в той же строке, начинается абзац,
Вот скрипка: http://jsfiddle.net/mohamedmusthafac/DW52N/15 /
я хочу, чтобы оба div запускались в одной строке без использования float:left
Ответ №1:
В зависимости от того, что вы имеете в виду, записывая «ту же строку», я бы предложил использовать vertical-align: top
or vertical-align: bottom
для элементов встроенного блока.
В вашем случае я бы добавил это свойство к #content
#nav
элементу and следующим образом:
#content {
....
vertical-align: top;
}
#nav{
....
vertical-align: top;
}
Вот обновление jsfiddle:
Комментарии:
1. Извините за поздний ответ, спасибо за код, это то, чего я ожидал
2. @musthafa Удивительно: это первый вопрос, который я вижу, на который есть все ответы без какого-либо голосования, и в то же время сам вопрос не получил ни одного. Один вопрос и четыре ответа с нулевым количеством голосов! По крайней мере, вы можете принять этот ответ, поскольку кажется, что он вам помог.
Ответ №2:
CSS :
#wrap
{
width: 100%;
margin: 0 auto;
text-align:center;
}
#content
{
background-color:yellow;
width:30%;
vertical-align: top;
}
#main
{
width:100%;
padding:0px;
margin:0px;
background-color:red;
padding:10px;
}
#main div div
{
display:inline-block;
}
#nav
{
margin-left:30px;
vertical-align: top;
}
ul
{
padding:0px;
margin:0px;
list-style-type:none;
}
#menu li
{
display:inline-block;
padding:5px;
border:1px solid yellow;
}
#menu li a
{
text-decoration:none;
color:yellow;
}
HTML :
<div id="main">
<div id="wrap">
<div id="content">
Hello how are you<br/>
Hello how are you<br/> Hello how are you<br/>
</div>
<div id="nav">
<div id="menu">
<ul>
<li><a href="#page1">PAge1</a></li>
<li><a href="#page1">PAge1</a></li>
<li><a href="#page1">PAge1</a></li>
<li><a href="#page1">PAge1</a></li>
</ul>
</div>
</div>
</div>
</div>
Проверьте это, это сработает.
Добавьте эти свойства к своим идентификаторам
#content {
....
vertical-align: top;
}
#nav{
....
vertical-align: top;
}
Ответ №3:
Попробуйте этот код, чтобы выровнять содержимое по вертикали по центру.
#content, #nav {
vertical-align: middle;
}
Ответ №4:
Попробуйте это
#content, #nav {
margin: 0px auto;
}
или
#content, #nav {
vertical-align: middle;
}