Сохранять немного вертикального пространства между элементами, когда они переносятся?

Используя Bootstrap, когда я помещаю кучу элементов (например, buttons) в ряд и сужаю окно, элементы оборачиваются.

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

Живой пример (сузьте или расширите окно вывода, чтобы увидеть эффект)

Пример скриншота:
1. Достаточно широкий, заметьте пространство между кнопками
2. Оборачиваясь, заметьте, что между кнопками, расположенными друг над другом, нет места.

Я думаю, я мог бы возиться с каким-то нестандартным CSS, добавляя вертикальные поля или еще что-нибудь, но для того, чтобы сделать вещи максимально совместимыми и стандартными, мне интересно, есть ли лучший или более нативный способ исправить это в макете Bootstrap?

Ответы

Ответ 1

Здесь происходит то, что кнопки отображаются в виде встроенного блока, и по умолчанию такие элементы не имеют пустого пространства или поля для начала. Вы можете использовать метод ниже, чтобы избежать этого.

Я добавил класс к родительскому элементу кнопок и унаследовал стиль к классу "btn".

HTML

<div class='container'>
    <div class='row'>
        <div class='col-xs-12 button-wrapper'>
            <button class='btn btn-primary'>Lorem ipsum dolor sit amet</button>
            <button class='btn btn-info'>consectetur adipiscing elit</button>
            <button class='btn btn-success'>sed do eiusmod tempor incididunt</button>
        </div>
    </div>
</div>

CSS

.button-wrapper .btn {
    margin-bottom:5px;
}

демонстрация

Ответ 2

С помощью Bootstrap мне всегда нравятся классы для добавления полей верхнего и нижнего полей:

.top5 { margin-top:5px; }
.top7 { margin-top:7px; }
.top10 { margin-top:10px; }
.top15 { margin-top:15px; }
.top17 { margin-top:17px; }
.top30 { margin-top:30px; }

.bottom5 { margin-bottom:5px; }
.bottom7 { margin-bottom:7px; }
.bottom10 { margin-bottom:10px; }
.bottom15 { margin-bottom:15px; }
.bottom17 { margin-bottom:17px; }
.bottom30 { margin-bottom:30px; }

Легко запомнить и быстро исправить эту проблему. Просто добавьте файл main.css.

Ответ 3

Попробуйте вот так: демо

CSS

 @media (max-width: 779px) {
     .btn{
         margin-bottom:10px;
 }

Ответ 4

Демо Используйте кнопку Margin-bottom css для кнопки.

    .btn{margin-bottom:10px;}

U может написать этот css с новым именем родительского класса, чтобы избежать воздействия css на другие страницы.

Ответ 5

Проверьте пример ниже:

Код:

.btn {
    margin: 10px auto;
}
<div class='container'>
	<div class='row'>
        
        <div class="col-xs-12 col-sm-4">
            <button class="btn btn-block btn-primary">Lorem ipsum dolor sit amet</button>
        </div>
        
        <div class="col-xs-12 col-sm-4">
            <button class="btn btn-block btn-info">consectetur adipiscing elit</button>
        </div>
        
        <div class="col-xs-12 col-sm-4">
            <button class="btn btn-block btn-success">sed do eiusmod tempor incididunt</button>
        </div>        
        
	</div>
</div>

Ответ 6

Я использую этот метод: добавьте div с некоторым вертикальным пространством:

<div class="vspace1em"></div>

CSS

    div.vspace1em {
        clear: both;
        height: 1em;
    }