Додати вертикальний пробіл за допомогою 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.