Додати вертикальний пробіл за допомогою Twitter Bootstrap?


162

Який найкращий спосіб додати вертикальний пробіл за допомогою Bootstrap Twitter?

Наприклад, скажімо, що я створюю цільову сторінку і хотів би трохи (100 пікселів) порожнього пробілу над і під певною кнопкою. Очевидно, я міг створити певний клас саме для цієї кнопки. Але я думаю, що Bootstrap повинен мати сухий спосіб додавання у вертикальні порожні пробіли.

Відповіді:


39

У Bootstrap 4 є утиліти для інтервалу .

Посилаючись на документацію на використані позначення :

Утиліти інтервалу, які застосовуються до всіх точок прориву, від 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 - для класів, які встановлюють a 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клас.


3
Чи можете ви навести приклад дійсного рядка класу?
— Колобський каньйон

Приємно! Це чудово.
— Тікі

51

У версії v2 немає нічого вбудованого для стільки вертикального простору, тому вам потрібно буде дотримуватися спеціального класу. Для менших висот я зазвичай просто кидаю <div class="control-group">кнопку навколо.


8
або <div class = "btn-toolbar">
— дюркавець

9
Дякую. Зараз я створив для цього використання кілька класів spacer10, spacer50 тощо. Я бачу, що в github вже є запит на функцію: bit.ly/R9oap9
— Ryan

1
@Ryan: Приємно, не бачив запит на витяг. Я трохи конфліктую з цим. Bootstrap майже повністю презентаційний (і зручний), але якщо ви косити досить сильно, щоб ігнорувати всі зайві HTML, ви можете отримати з нього семантику. Вертикальний інтервал є суто презентаційним, тому я думаю, що найкраще це зробити за допомогою спеціального класу / ідентифікатора.
— jmdeldin

2
Це було для v2, але, схоже, v3 мінімізував інтервали навколо .btn-toolbar, тому вам слід просто додати новий клас із власними полями.
— jmdeldin

3
Мабуть, запит на функцію github закритий, і ця функція може перетворити його на Bootstrap v4. bit.ly/R9oap9
— Райан

48

Обгортання працює, але коли ви просто хочете місця, мені подобається:

<div class="col-xs-12" style="height:50px;"></div>

16
Додавання стилю вбудованого під час роботи з Bootstrap, як правило, не є хорошою ідеєю. Він повинен хоча б перейти в CSS.
— алексикот

2
зауважте, що "col-xs-12" точно такий же, як і взагалі не мати занять
— Soldeplata Saketos

34

Вибачте, щоб тут копати стару могилу, але чому б просто не зробити цього?

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

Це додасть простору висоту нормального елемента форми.

Здається, приблизно 1 рядок у формі приблизно 50 пікселів (47 пікселів на моєму елементі, який я щойно перевірив). Це горизонтальна форма, з ліворуч 2col і написом праворуч 10col. Тож ваші пікселі можуть відрізнятися.

Оскільки у мене в основному 50 пікс., Я б створив прокладку заввишки 50 пікселів без запасів і прокладок;

.spacer { margin:0; padding:0; height:50px; }
<div class="spacer"></div>

1
Це додає місця нижче групи, але не вище
— icc97

Звичайно, це так, саме про це він попросив - спосіб додати вертикальний пробіл. Якщо вам потрібна спеціальна група форм або рядок або навіть кнопка, створіть свій власний клас, щоб додати його домінуючи поля. Тобто: class = "form-group interced-group" та ".spaced-group {margin-top: 15px! Важливо; margin-bottom: 15px! Важливо;}. .. Це просто загальний css-сенс.
— Wade

ОП спеціально запитала: "трохи (100 пікселів) порожнього білого простору над і під певною кнопкою"
— icc97

1
Ні, це був приклад, а не його питання. Його питання було "Який найкращий спосіб додати вертикальне порожнє місце за допомогою Bootstrap Twitter?" - вертикальний порожній простір відрізняється від поля для певного елемента. Якщо він робив це для всіх кнопок, він міг би змінити маржу btn або зробити власний клас схожим на "btn-інтервал" зі своїми бажаними полями. Якщо він просто бажає способу додати зазор там, де він захоче, розпізнавач фіксованої висоти, як я відповів, - те, що йому потрібно. Він задав одне запитання і подав приклад іншого. Я припускав, що він знає CSS достатньо, щоб знати, що він може перевищити поля.
— Вейд

Оскільки він сказав метод DRY та кнопка, то я створив би клас клавіш із потрібними полями: btn-інтервал. Якби не лише кнопки, то загальний запас, який би застосовувався до рядків, груп форм, будь-якого іншого. Як клас = "простір рядків-малий", або клас = "простір-середня форма-група". Там, де малі середні та великі є лише варіантами поля, і їх можна застосувати практично до будь-якого. - важко сказати, чого хоче оп. Лише для кнопок або просто для будь-якого елемента ..
— Вейд

24

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

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

21

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

A panel, a wellі form-groupall забезпечують деякий вертикальний інтервал.

Більш офіційне специфічне рішення щодо вертикального проміжку, мабуть, знаходиться в дорожній карті для завантажувального пристрою v4

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


5
.form-group здається найкращим вибором, оскільки css обмежений до межі поля: 15px. .well і .panel не слід використовувати, якщо ви хочете просто додати певний інтервал, оскільки вони мають інші атрибути (наприклад, фон, підкладка, облямівка тощо)
— xaa

9

Я просто створив клас Div, використовуючи різні висоти, тобто

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

CSS:

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

Просто створіть клас дільника для будь-якої висоти.


8

Мій трюк. Не елегантно, але це працює:

<p>&nbsp;</p>

2
@JayKilleen +1 Ви повинні опублікувати це як відповідь. Можливо, люди стають покладатися на рамки і забувають про основи.
— ADJenks

5

Просто використовуйте <br/>. Я опинився тут, шукаючи відповідь на це питання, а потім відчув себе якось дурним, що не думав про використання простого розриву рядків, як запропонував користувач JayKilleen у коментарі.


Далі - ви не отримаєте точного керування в 100 пікселів, але це, безумовно, має працювати, щоб додати достатньо місця.
— mix3d

1
@ mix3d, ти прямо там, я спершу не помітив, що він піклується про те, щоб це було рівно 100 пікселів. Я думав, що він просто хоче «трохи». Він напевно міг зробити власний клас помічників, як пропонували всі. Але оскільки цій посаді так багато років, він тепер може просто перейти на завантажувальний 4 для точного інтервалу або взяти з нього класи помічників.
— ADJenks

5

Я знаю, що це старе і вже є кілька хороших рішень, які вже розміщені, але просте рішення, яке працювало для мене, - це наступний CSS

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

а потім створіть div у своєму HTML

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

4

Я спробував використовувати, <div class="control-group">і це не змінило мою схему. Це не додало вертикального простору. Рішення, яке працювало для мене:

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

Якщо це не дає достатнього вертикального простору, ви можете поступово отримувати більше, додаючи вкладені <li>&nbsp;</li>теги.


Дякуємо, і ваша пропозиція працюватиме з Bootstrap або без нього. Але питання стосувалося спеціально використання Twitter Bootstrap для додавання інтервалу.
— Джонатан

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
Як це відповідь на запитання?
— Метт S

Він додає вертикальний інтервал, як просив оригінальний плакат, а також завантажувальні диски тепер обслуговують його в останній версії (4) у бета-стані. Це насправді правильна відповідь, і якщо ви перейдете на вертикальний інтервал google у завантажувальному інструменті, ви побачите, що він раніше не відповідав. Будь ласка, не заперечуйте те, що ви не перевіряли чи гуглили.
— День

Ви явно не прочитали питання. "Я хотів би трохи (100 пікселів) порожнього білого простору над і під певною кнопкою." Певна кнопка ... певна кнопка ...
— Matt S

1
Перед цим він сказав: "Наприклад, скажімо". Це був лише приклад, це не конкретна проблема. Не цитуйте з контексту. Приклад, який я подав, є достатньою, і вся інформація, яку я надавала, є адекватною.
— День

-3

Немає нічого більш ДУХОГО ніж

.btn {
    margin-bottom:5px;
}

13
Я б рекомендував не змінювати стилістику базових класів cot bootstrap.
— Джеймс Палагава

1
@JamesPalawaga +1. Але якщо це повинно бути загальним стандартом у вашій програмі, ви можете змінити стиль завантажувальної стрічки, використовуючи менші та змінні та / або ретельно керовані заміщення таблиць стилів.
— Джонатан
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.