Вкладки Bootstrap — принудительное отображение встроенного блока с горизонтальной прокруткой

Я уже проверил:

но оба они на самом деле не решили мою проблему.

Что я наделал:

Я использую бесплатный шаблон начальной загрузки (sb-admin 2, который можно найти здесь: http://ironsummitmedia.github.io/startbootstrap-sb-admin-2/pages/index.html), точнее, я фактически работаю над панелью "чат".

Первоначальный макет чата:

введите здесь описание изображения

То, что я пытаюсь сделать, это добавить «список пользователей» под текстом «чата», и для этого я уже сделал всю логику сервера, и для того, чтобы иметь возможность показывать/скрывать чаты, я используя вкладки начальной загрузки: http://getbootstrap.com/javascript/#tabs (потому что так проще контролировать весь поток чата).

Чтобы не публиковать весь исходный код всего проекта (более 100 тысяч строк кода), я воспроизвел свою проблему на скрипке, чтобы опубликовать ее.

Релевантная часть тестирования, которое я провел, это вот эта (она содержит веточку, и я вежливо прошу вас игнорировать ее, ее не будет в тегах, потому что у меня нет любая проблема с веткой):

<div class="panel-body">
        <div class="span11">
            <div class="row-fluid">
                <div class="col-lg-12">
                    <ul class="nav nav-tabs" role="tablist">
                        <li role="presentation" class="active">
                            <a href="#aguychat__chat" data-userid="{{user.id}}" role="tab" data-toggle="tab">aguychat <span class="badge" id="aguychat__chat__badge"> 0 </span>
                            </a>
                        </li>
                        <li role="presentation" class="active">
                            <a href="#aguychat__chat" data-userid="{{user.id}}" role="tab" data-toggle="tab">aguychat <span class="badge" id="aguychat__chat__badge"> 0 </span>
                            </a>
                        </li>
                        <li role="presentation" class="active">
                            <a href="#aguychat__chat" data-userid="{{user.id}}" role="tab" data-toggle="tab">aguychat <span class="badge" id="aguychat__chat__badge"> 0 </span>
                            </a>
                        </li><li role="presentation" class="active">
                            <a href="#aguychat__chat" data-userid="{{user.id}}" role="tab" data-toggle="tab">aguychat <span class="badge" id="aguychat__chat__badge"> 0 </span>
                            </a>
                        </li>
                        <li role="presentation" class="active">
                            <a href="#aguychat__chat" data-userid="{{user.id}}" role="tab" data-toggle="tab">aguychat <span class="badge" id="aguychat__chat__badge"> 0 </span>
                            </a>
                        </li>
                        <li role="presentation" class="active">
                            <a href="#aguychat__chat" data-userid="{{user.id}}" role="tab" data-toggle="tab">aguychat <span class="badge" id="aguychat__chat__badge"> 0 </span>
                            </a>
                        </li>
                        <li role="presentation" class="active">
                            <a href="#aguychat__chat" data-userid="{{user.id}}" role="tab" data-toggle="tab">aguychat <span class="badge" id="aguychat__chat__badge"> 0 </span>
                            </a>
                        </li>
                        <li role="presentation" class="active">
                            <a href="#aguychat__chat" data-userid="{{user.id}}" role="tab" data-toggle="tab">aguychat <span class="badge" id="aguychat__chat__badge"> 0 </span>
                            </a>
                        </li>
                    </ul>
                </div>
            </div>
        </div>

Это то, что я пробовал после прочтения всех сообщений о возможности горизонтальной прокрутки набора элементов, поэтому я сделал следующее:

  • создать контейнер (span11)
  • создать текучую строку (row-fluid)
  • создайте элемент col-lg-12 (для заполнения строки)
  • разобрать внутри него весь набор элементов (все <ul> <li>, все вкладки).

Я ожидал, что у меня будет div шириной 100% с прокручиваемой полосой с элементами внутри, например: http://jsfiddle.net/zLez4drz/ (предупреждение: скрипт взят из другого вопроса, откуда я взял информацию)

введите здесь описание изображения

В то время как мой вывод вместо этого: http://prntscr.com/7nlh83

‹-- установив высоту 50px

введите здесь описание изображения

‹-- установив высоту 100px

В двух словах, элементы печатаются в двух (или нескольких) строках в зависимости от устройства (или разрешения), в то время как я хочу, чтобы все они печатались встроенными и могли прокручиваться по горизонтали независимо от количества <li> внутри родительского контейнера.

Скрипка, над которой нужно поработать:

http://jsfiddle.net/b7ghL587/1/

Мои вопросы:

  1. Почему это происходит? Есть ли способ решить эту проблему, или я должен вообще не использовать списки и переписать часть javascript?
  2. Может ли остальная часть DOM повлиять на это?

person briosheje    schedule 01.07.2015    source источник
comment
@ j08691: почему ты редактировал теги? этот вопрос не имеет ничего общего с twitter-bootstrap, не могли бы вы объяснить это?   -  person briosheje    schedule 01.07.2015
comment
Попробуйте прочитать описания тегов для bootstrap и твиттер-бутстрап.   -  person j08691    schedule 01.07.2015
comment
@ j08691: О, спасибо, но это сбивает с толку!   -  person briosheje    schedule 01.07.2015


Ответы (1)


Вы не можете прокручивать плавающие элементы.
Вам нужно переопределить некоторый код Bootstrap по умолчанию:

.nav-tabs > li {
    float:none;
    display:inline-block;
}

Вот рабочая скрипка.

person aleksandar    schedule 01.07.2015
comment
Вау, спасибо, я понятия не имел, что навигационные вкладки li плавают, это было так просто. Еще раз спасибо за ваше время и усилия (и объяснение)! - person briosheje; 02.07.2015