Подтвердить что ты не робот

Как растянуть элементы навигационной панели Bootstrap, чтобы использовать всю ширину?

Рассмотрим следующую панель навигации Bootstrap:

My custom Bootstrap navigation bar

Некоторые факты об этой панели навигации:

  • Сама панель имеет ширину 620 пикселей (ширина страницы)
  • Панель реагирует (сбойная точка останова при 640px)
  • Элементы панели склеиваются (между пробелами нет пробелов)
  • Панель поддерживает многоязычность (меняется ширина элементов)

Как я могу растянуть элементы бара, чтобы использовать всю ширину? Оставшееся пустое пространство справа должно быть распределено между элементами панели. Поскольку каждый элемент имеет разную ширину, и эта ширина может меняться от языка к языку, я не могу работать с процентами. Я предполагаю, что единственным решением будет JavaScript. Но я не могу найти ни одного примера...

Js Fiddle Демо: http://jsfiddle.net/zBM6D/3/

<body>
    <div id="page">
        <header id="header">
            <nav class="navbar navbar-default roboto normal" role="navigation">
                <div class="container-fluid">
                    <div class="navbar-header">
                        <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navigation-elements"> <span class="sr-only">Toggle navigation</span>
 <span class="icon-bar"></span>
 <span class="icon-bar"></span>
 <span class="icon-bar"></span>

                        </button>
                    </div>
                    <div class="collapse navbar-collapse" id="navigation-elements">
                        <ul class="nav navbar-nav">
                            <li class="active"><a href="#">START</a>
                            </li>
                            <li><a href="#">THESE</a>
                            </li>
                            <li><a href="#">ARE</a>
                            </li>
                            <li><a href="#">SOME</a>
                            </li>
                            <li><a href="#">ELEMENTS</a>
                            </li>
                            <li><a href="#">WITH</a>
                            </li>
                            <li><a href="#">DIFFERENT</a>
                            </li>
                            <li><a href="#">WIDTHS</a>
                            </li>
                        </ul>
                    </div>
                </div>
            </nav>
            <div class="clear"></div>
        </header>
    </div>
</body>
4b9b3361

Ответ 1

Вы можете использовать макет отображения таблицы CSS для распространения ваших навигационных элементов. Его хорошо поддерживается в браузерах и прост в реализации:

.navbar-nav {
    display:table;
    width:100%;
    margin: 0;
}
.navbar-nav > li {
    float:none;
    display:table-cell;
    text-align:center;
}

Это делает его 100% шириной его родительского #header, который, в свою очередь, ограничен шириной #page, поэтому, если вам нужно, чтобы он охватывал 100% всей ширины документа, вам нужно будет перемещаться это из #page или сделать #page шире.

http://jsfiddle.net/zBM6D/5/