Как я могу отображать 3 неупорядоченных списка по горизонтали рядом друг с другом? 3 ul завернуты в 1 div, называемый "налог".
Я пробовал следующее, но он не отображается правильно. Я знаю, что могу решить эту проблему, обертывая каждую ul с помощью div, но я не хочу использовать дополнительную разметку, когда это не обязательно.
Пример: http://jsfiddle.net/Eric87/LKp69/13/
HTML
<div id="tax">
<hr>
<h2>
Recent News </h2>
<ul id="recent-news">
<li>
<a href='#'>
new release </a>
 › </li>
<li>
<a href='#'>
testing titel </a>
 › </li>
</ul>
<h2>
Categories </h2>
<ul id="categories">
<li>
<a href="#">
Audio </a>
 › </li>
<li>
<a href="#">
Uncategorized </a>
 › </li>
</ul>
<h2>
Archives </h2>
<ul id="archives">
<li>
<a href=''>
August 2013 </a>
</li>
<li>
<a href='#'>
July 2013 </a>
</li>
<li>
<a href='#'>
May 2013 </a>
</li>
<li>
<a href='#'>
December 2012 </a>
</li>
</ul>
CSS
#tax {
margin-top:100px;
}
#tax ul {
width:33%;
list-style:outside;
}
#categories,#archives,#recent-news {
display:inline-block;
float:left;
}
Вы пытаетесь выровнять два элемента по горизонтали, как h2
и ul
которые идут с ним, и почему он не работает "как ожидалось". Единственный способ решить эту проблему, чтобы оба эти элемента действовали как единое целое, заключается в добавлении дополнительного элемента разметки вокруг обоих из них и применении регулярных правил горизонтального макета к этому элементу. Я бы рекомендовал section
для этого, например:
<section id="archives">
<h2>Section title</h2>
<ul><!-- bunch of list items --></ul>
</section>
Это не "лишняя дополнительная разметка", это требуется разметка, если вы хотите, чтобы 2 элемента были в макете как 1.
Создайте обертку для каждого элемента и назначьте каждому элементу класс под названием "pull-left". И затем добавьте стиль ниже:
<div class="pull-left">
<h2>Title</h2>
<ul>
<li>...</li>
</ul>
</div>
<div class="pull-left">
<h2>Title</h2>
<ul>
<li>...</li>
</ul>
</div>
<div class="pull-left">
<h2>Title</h2>
<ul>
<li>...</li>
</ul>
</div>
Вот ваш код css для класса pull-left:
.pull-left { float: left; }
Для горизонтальных вы в основном должны использовать div для обертывания ul.
div {
width: 50px;
border: 1px solid #000;
float: left;
}
br { clear: left; }
здесь создайте одну оболочку div для включения с тегом заголовка и ul. Например, здесь я создаю оболочку div с именем "test".
<div id="tax">
<div class="test">
<h2>
Recent News </h2>
<ul id="recent-news">
<li>
<a href='#'>
new release </a>
 › </li>
<li>
<a href='#'>
testing titel </a>
 › </li>
</ul>
</div>
<div class="test">
<h2>
Categories </h2>
<ul id="categories">
<li>
<a href="#">
Audio </a>
 › </li>
<li>
<a href="#">
Uncategorized </a>
 › </li>
</ul>
</div>
<div class="test">
<h2>
Archives </h2>
<ul id="archives">
<li>
<a href=''>
August 2013 </a>
</li>
<li>
<a href='#'>
July 2013 </a>
</li>
<li>
<a href='#'>
May 2013 </a>
</li>
<li>
<a href='#'>
December 2012 </a>
</li>
</ul>
</div>
</div>
Css:
<style type="text/css">
#tax {
margin-top:100px;
}
#categories,#archives,#recent-news {
display:inline-block;
float:left;
}
.test{width:33%;
float:left;}
</style>
ЗДЕСЬ РАБОЧАЯ ЖИЗНЬ ДЕМО: НАЖМИТЕ ЗДЕСЬ
у меня есть добавочный дополнительный <div>
для всех <ul>
и поместите его в float: left:
в основном все