2014-01-15 3 views
0

Я создаю навигационную панель, в которой есть пять разных ссылок. Используя элементы div, я создал панель навигации, а затем разделил каждую ссылку на свой собственный контейнер. По умолчанию все они разбиваются на левую сторону, а не на панели навигации. Чтобы обойтись без полностью несогласованного навигационного бара, я добавил приблизительную ширину, чтобы равномерно разместить каждую ссылку друг от друга; однако, это не совсем согласовано, и мне нужен более профессиональный способ сосредоточить их.Как центрировать эти кнопки навигации?

Вы можете наглядно увидеть, что я говорю здесь: http://jsfiddle.net/W2Pez/2

Вы можете видеть, что не все они одинаково разнесены друг от друга. Я планирую удалить атрибуты ширины из каждой ссылки, так как я могу сделать так, чтобы каждая ссылка была одинаковым числом пикселей друг от друга БЕЗ использования ширины? Обратите внимание, что контейнер каждой линии не может быть такой же ширины, поскольку, например, количество пустого пространства, оставшегося от «Домой», будет намного больше, чем «Тарифы & Пакеты».

CSS:

#nav { 
    background-color: #C08374; 
    height: 50px; 
    line-height: 50px; 
    width: 1000px; 
    margin: auto; 
    vertical-align: middle; 
    border: 1px solid #A76358; 
} 

.nav_button { 
    float: left; 
    text-align: center; 
    line-height: 50px; 
} 

HTML:.

<div id="nav"> 
    <div class="nav_button" style="width: 25px"></div> 
    <div class="nav_button" style="width: 175px"> 
     <a href="index.html">Home</a> 
    </div> 
    <div class="nav_button" style="width: 250px"> 
     <a href="rates.html">Rates &amp; Packages</a> 
    </div> 
    <div class="nav_button" style="width: 175px"> 
     <a href="about.html">About Us</a> 
    </div> 
    <div class="nav_button" style="width: 150px"> 
     <a href="menu.html">Menu</a> 
    </div> 
    <div class="nav_button" style="width: 250px"> 
     <a href="attractions.html">Nearby Attractions</a> 
    </div> 
    <div class="nav_button" style="width: 25px"> 
</div> 
+0

Использовать проценты. '100/[количество пунктов меню]' должен указывать сумму, которую вы хотите использовать. – SeinopSys

+2

использовать 'ul li' теги в меню вместо' divs' – Fox

+0

сделать nav-button inline-block не плавать, добавить прописку влево и вправо. нет ширины для a и text-align: center на родительском. http://codepen.io/anon/pen/ItdEH –

ответ

2

Хитрость заключается в том, чтобы установить контейнер, чтобы иметь text-align: center и затем список (он должен быть <ul> набор для display: inline-block Это будет центрируйте весь список, и затем вы можете поплавать элементами списка и управлять тем, как далеко друг от друга они располагаются друг от друга с использованием полей.

Вот усеченную версию кода:

HTML

<div id="nav"> 
    <ul> 
    <li class="nav_button"> 
     <a href="index.html">Home</a> 
    </li> 
    <li class="nav_button"> 
     <a href="rates.html">Rates &amp; Packages</a> 
    </li> 
    <li class="nav_button"> 
     <a href="about.html">About Us</a> 
    </li> 
    <li class="nav_button"> 
     <a href="menu.html">Menu</a> 
    </li> 
    <li class="nav_button"> 
     <a href="attractions.html">Nearby Attractions</a> 
    </li> 
    </ul> 
</div> 

CSS

#nav { 
    background-color: #C08374; 
    border: 1px solid #A76358; 
    text-align: center; 
} 
ul { 
    list-style: none; 
    display: inline-block; 
} 
ul li { 
    float: left; 
    margin: 0 20px; 
} 
ul li a { 
    color: white; 
} 

Here's a fiddle.

+0

Единственное, что я вижу с использованием этого метода, это то, что я не смог бы уравнять объем пространства между каждой ссылкой до объем пространства между внешними ссылками и стороной навигационной панели. – Ben

+0

Итак, вы хотите, чтобы ссылки были точным делением ширины контейнера. Просто установите их в процентах. 100/5 = 20%. Конечно, вам не понадобится вышеупомянутая техника. – davidpauljunior

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