2013-07-18 5 views
16

Когда мое модальное всплывающее окно открывается, оно добавляет вертикальную полосу прокрутки справа от окна браузера. Как отключить это? Я думаю, что это включено, когда модальное окно имеет очень большое значение высоты, где ему нужно прокручивать. я хочу отключить это, так как моя высота формы не превышает высоту окна.Bootstrap: как отключить вертикальную полосу прокрутки?

+0

Это имеет мало делать с Bootstrap. Ознакомьтесь с инструментами разработчика Firebug или Chrome и просмотрите структуру HTML. Измените при необходимости CSS. – isherwood

+0

Я подозреваю, что это свидетельствует о другой проблеме - возможно, о плохом разметке. Обязательно проверьте. –

+2

@isherwood - Это имеет отношение к бутстрапу. Как указано alx в ответе ниже, bootstrap 3 действительно содержит директиву .modal {overflow-y: scroll; } Не знаю, почему это не авто, но в любом случае ... –

ответ

27

В вашем CSS дополнениях:

body { 
    overflow-y:hidden; 
} 
+4

Он также добавляет модальный класс к телу, который добавит 15px margin справа, возможно, для компенсации scollbar, но перемещение содержимого влево, если полоса прокрутки не видна. Добавить это определение, чтобы удалить что: 'body.modal-открытый, .modal открытой .navbar фиксированной вершины, .modal открытой .navbar фиксированной нижней { \t запас правый: 0; } ' – sp00n

0

Если высота модели окна не более чем нормальная высота окна, это не имеет никакого смысла для отображения бара прокрутки. Проверить погоду на любой <div></div>, используемый для затухания фона позади окна модели, имеет дополнительную высоту, чем точка обзора.

29

У меня такая же проблема с bootstrap 3.0.0. Кажется, что класс .modal имеет правило overflow-y: scroll, которое приводит к тому, что полоса прокрутки всегда видна.

Таким образом, вы можете изменить это локально:

<div class="modal" ... style="overflow-y: auto;"> 
    ... 
</div> 

или глобально:

<style> 
.modal { 
    overflow-y: auto; 
} 
</style> 
+1

Nice1! Это работает так, как ожидалось, и должен быть выбранным ответом. Спасибо. – metamagicson

+0

Вопрос в том, почему Bootstrap устанавливает его таким образом? Я бы не коснулся его, если бы точно не знал, что происходит. На вопрос: https://github.com/twbs/bootstrap/issues/7972 –

+0

Мне также пришлось удалить прокладку из тега body. Так что эта комбо работала для меня. .modal {overflow-y: auto;} .modal-open {padding-right: 0! important;} – JacobLett

0

Добавить стиль к телу, как:

body { 
    padding-right: 0px !important; 
    overflow-y: hidden !important; 
} 
Смежные вопросы