Добавить вертикальный пробел с помощью Twitter Bootstrap?

127

Какой лучший способ добавить вертикальное пустое пространство с помощью Twitter-бутстрапа?

Например, скажем, я создаю целевую страницу и хотел бы немного (100 пикселей) пробела пробела выше и ниже определенной кнопки. Очевидно, я мог бы создать определенный класс для этой конкретной кнопки, но я бы подумал, что Bootstrap должен иметь некоторый DRY способ добавления в вертикальные пробелы.

Теги:
vertical-alignment
twitter-bootstrap-2

13 ответов

48
Лучший ответ

В этом вертикальном пространстве нет ничего встроенного, поэтому вы захотите придерживаться пользовательского класса. Для меньших высот я обычно просто бросаю <div class="control-group"> вокруг кнопки.

  • 8
    или <div class = "btn-toolbar">
  • 9
    Благодарю. Теперь я создал несколько классов spacer10, spacer50 и т. Д. Для этого использования. Я вижу, что в github уже есть запрос функции: bit.ly/R9oap9
Показать ещё 10 комментариев
34

Обертка работает, но когда вам просто нужно пространство, мне нравится:

<div class="col-xs-12" style="height:50px;"></div>
  • 15
    Добавление встроенного стиля при работе с Bootstrap, как правило, не очень хорошая идея. По крайней мере, это должно войти в CSS.
  • 2
    обратите внимание, что «col-xs-12» - это то же самое, что совсем не иметь классов
25

Жаль копать старую могилу здесь, но почему бы просто не сделать это?

<div class="form-group">
    &nbsp;
</div>

Он добавит пробел в высоту элемента нормальной формы.

Кажется, около 1 строки на форме примерно 50 пикселей (47 пикселей на мой элемент, который я только что просмотрел). Это горизонтальная форма, с меткой слева 2col и input на правом 10col. Таким образом, ваши пиксели могут отличаться.

Так как моя в основном 50px, я бы создал проставку высотой 50px без полей или отступов;

.spacer { margin:0; padding:0; height:50px; }
<div class="spacer"></div>
  • 1
    Это добавляет пространство ниже группы, но не выше
  • 0
    Конечно, это именно то, о чем он просил, способ добавить вертикальное пустое пространство. Если вам нужна пользовательская группа форм, строка или даже кнопка, создайте свой собственный класс, добавив к нему поля. То есть: class = "form-group spaced-group" и ".spaced-group {margin-top: 15px! Важный; margin-bottom: 15px! Важный;}. Это просто обычный css-sense.
Показать ещё 5 комментариев
18

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

<div class="help-block"></div>
18

Для версии 3 не существует способа "начальной загрузки" для достижения этой цели.

A panel, a well и a form-group все обеспечивают некоторый вертикальный интервал.

Более формальное конкретное решение вертикального интервала, по-видимому, относится к дорожной карте для бутстрапа v4

https://github.com/twbs/bootstrap/issues/4286#issuecomment-36331550 https://github.com/twbs/bootstrap/issues/13532

  • 5
    .form-group кажется лучшим выбором, так как css ограничен margin-bottom: 15px. .well и .panel не должны использоваться, если вы хотите просто добавить некоторый интервал, поскольку они имеют другие атрибуты (такие как фон, отступы, границы и т. д.)
9

В Bootstrap 4 есть интервал использования.

Цитирование документация для использованной нотации:

Утилиты Spacing, которые применяются ко всем точкам останова, от xs до xl, не имеют в них аббревиатуры точки останова. Это потому, что эти классы применяются от min-width: 0 и вверх и, следовательно, не связаны медиа-запрос. Остальные точки останова, однако, включают аббревиатура точки останова.

Классы называются с использованием формата {property}{sides}-{size} для xsи {property}{sides}-{breakpoint}-{size} для sm, md, lg и xl.

Если свойство является одним из:

  • m - для классов, которые устанавливают margin
  • p - для классов, которые устанавливают padding

Если стороны являются одним из:

  • t - для классов, которые устанавливают margin-top или padding-top
  • b - для классов, которые устанавливают margin-bottom или padding-bottom
  • l - для классов, которые устанавливают margin-left или padding-left
  • r - для классов, которые устанавливают margin-right или padding-right
  • x - для классов, которые устанавливают как *-left, так и *-right
  • y - для классов, которые устанавливают как *-top, так и *-bottom
  • blank - для классов, которые устанавливают margin или padding на всех 4 сторонах элемента

Где размер один из:

  • 0 - для классов, которые устраняют поле или дополнение, устанавливая его на 0
  • 1 - (по умолчанию) для классов, которые устанавливают margin или padding в $spacer * .25
  • 2 - (по умолчанию) для классов, которые устанавливают margin или padding в $spacer * .5
  • 3 - (по умолчанию) для классов, которые устанавливают margin или padding в $spacer
  • 4 - (по умолчанию) для классов, которые устанавливают margin или padding в $spacer * 1.5
  • 5 - (по умолчанию) для классов, которые устанавливают margin или padding в $spacer * 3

Итак, чтобы иметь дополнительное вертикальное пространство над и под элементом, вы должны использовать класс my-5.

  • 2
    Bootstrap 4 так красиво работать: ')
  • 2
    Не могли бы вы привести пример допустимой строки класса?
6

Я просто создал div-класс, используя различные высоты i.e.

<div class="divider-10"></div>

CSS:

.divider-10{ 
width:100%; 
min-height:1px; 
margin-top:10px; 
margin-bottom:10px;  
display:inline-block; 
position:relative;

}

Просто создайте класс разделителей, для чего нужны высоты.

4

Я попытался использовать <div class="control-group">, и это не изменило мой макет. Он не добавил вертикальное пространство. Решение, которое сработало для меня, было:

<ol style="visibility:hidden;"></ol>

Если это не дает вам достаточно места в вертикальном пространстве, вы можете постепенно увеличивать добавление вложенных тегов <li>&nbsp;</li>.

  • 0
    Спасибо, и ваше предложение будет работать с или без Bootstrap. Но вопрос был конкретно об использовании Twitter Bootstrap для добавления пробелов.
2

Я знаю, что это старо, и есть несколько хороших решений, уже опубликованных, но простое решение, которое сработало для меня

<style>
  .divider{
    margin: 0cm 0cm .5cm 0cm;
  }
</style>

а затем

<div class="divider"></div>
2

Мой трюк. Не элегантный, но он работает:

<p>&nbsp;</p>
  • 1
    или <br> ?? или что-то не так с <br> ??
  • 2
    @JayKilleen +1 Вы должны опубликовать это как ответ. Возможно, люди начинают полагаться на рамки и начинают забывать основы.
1

Просто используйте <br/>. Я нашел себя здесь, чтобы найти ответ на этот вопрос, а затем почувствовал себя глупым, не задумываясь об использовании простой строки, как это предложил пользователь JayKilleen в комментарии.

  • 0
    Недостатком является то, что вы не получаете точный контроль 100px, но он, безусловно, должен работать, чтобы добавить разумное количество места.
  • 1
    @ mix3d, ты тут, я сначала не заметил, что он заботился о том, чтобы он был точно 100px. Я думал, что он просто хотел "немного". Он мог определенно сделать свой собственный класс помощника, как все предложили. Но так как этому посту так много лет, теперь он может просто перейти на bootstrap 4 для точного интервала или взять из него вспомогательные классы.
1
<form>
 <fieldset class="form-group"><input type="text" class="form-control" placeholder="Input"/></fieldset>
 <fieldset class="form-group"><button class="btn btn-primary"/>Button</fieldset>
</form>

http://v4-alpha.getbootstrap.com/components/forms/#form-controls

  • 1
    Как это ответ на вопрос?
  • 0
    Он добавляет вертикальный интервал, как и требовалось в оригинальном постере, и разработчики начальной загрузки теперь поддерживают его в последней версии (4) в бета-состоянии. Это на самом деле правильный ответ, и если вы начнете гуглить вертикальный интервал в начальной загрузке, вы увидите, что он ранее не учитывался. Пожалуйста, не отрицайте то, что вы не проверяли и не гуглили.
Показать ещё 2 комментария
-4

Нет ничего более сурового, чем

.btn {
    margin-bottom:5px;
}
  • 13
    Я бы рекомендовал не изменять стиль базовых классов начальной загрузки CSS.
  • 1
    @JamesPalawaga +1. Но если бы это было общим стандартом для вашего приложения, вы могли бы переопределить стили начальной загрузки, используя LESS и переменные и / или тщательно управляемые таблицы стилей переопределения.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню