Подтвердить что ты не робот

Измените кнопки на "btn-block" на размер мобильного экрана

Используя Bootstrap 3, есть ли способ сделать кнопки, использующие класс btn-block, когда размер экрана "xs"?

В настоящее время у меня есть форма, в которой есть несколько строк, содержащих 3 выпадающих меню и две кнопки, которые отлично смотрятся на больших и средних экранах.

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

В идеале я хотел бы иметь их как блокирующие кнопки при меньших размерах экрана, поэтому они занимают всю ширину (формы, как и элементы управления формами), и делают ее более приятной.

4b9b3361

Ответ 1

Добавьте свой пользовательский класс к кнопке и используйте медиа-запросы, чтобы установить ширину на 100% на устройствах до точки останова. SO ie

<button class"bootstrap classes custom-class></button>   

и в CSS

@media all and (max-width:480px) {
   .custom-class { width: 100%; display:block; }
}   

Вы также можете контролировать то, что происходит над этой точкой останова, настроив медиа-запросы на разные точки останова.

Ответ 2

Добавление CSS, показанного ниже, в ваше приложение Bootstrap 3 позволяет поддерживать

.btn-xs-block
.btn-sm-block
.btn-md-block
.btn-lg-block

которые предоставляют варианты btn-block, которые являются отзывчивыми и специфичными для размера области просмотра.

Если у вас несколько кнопок бок о бок, и они не подходят на маленьких экранах, таким образом, разбивая и обертывая на другую строку, просто добавьте btn-xs-block или btn-sm-block (или в редких случаях один из других классов ) на ваши кнопки, и они будут полными и сложены на маленьких экранах:

<button class="btn btn-default btn-xs-block" type="button">Button 1</button>
<button class="btn btn-default btn-xs-block" type="button">Button 2</button>

CSS для Bootstrap 3:

@media (max-width: 767px) {
    .btn-xs-block {
        display: block;
        width: 100%;
    }
    input[type="submit"].btn-xs-block,
    input[type="reset"].btn-xs-block,
    input[type="button"].btn-xs-block {
        width: 100%;
    }
    .btn-block + .btn-xs-block,
    .btn-xs-block + .btn-block,
    .btn-xs-block + .btn-xs-block {
        margin-top: 0.5rem;
    }
}
@media (min-width: 768px) and (max-width: 991px) {
    .btn-sm-block {
        display: block;
        width: 100%;
    }
    input[type="submit"].btn-sm-block,
    input[type="reset"].btn-sm-block,
    input[type="button"].btn-sm-block {
        width: 100%;
    }
    .btn-block + .btn-sm-block,
    .btn-sm-block + .btn-block,
    .btn-sm-block + .btn-sm-block {
        margin-top: 0.5rem;
    }
}
@media (min-width: 992px) and (max-width: 1199px) {
    .btn-md-block {
        display: block;
        width: 100%;
    }
    input[type="submit"].btn-md-block,
    input[type="reset"].btn-md-block,
    input[type="button"].btn-md-block {
        width: 100%;
    }
    .btn-block + .btn-md-block,
    .btn-md-block + .btn-block,
    .btn-md-block + .btn-md-block {
        margin-top: 0.5rem;
    }
}
@media (min-width: 1200px) {
    .btn-lg-block {
        display: block;
        width: 100%;
    }
    input[type="submit"].btn-lg-block,
    input[type="reset"].btn-lg-block,
    input[type="button"].btn-lg-block {
        width: 100%;
    }
    .btn-block + .btn-lg-block,
    .btn-lg-block + .btn-block,
    .btn-lg-block + .btn-lg-block {
        margin-top: 0.5rem;
    }
}

Ответ 3

Для Bootstrap 4 я использую это:

# HTML
<input type="submit" class="btn btn-primary btn-block-xs-only">

# SCSS
@include media-breakpoint-only(xs) {
  .btn-block-xs-only {
    display: block;
    width: 100%;
  }
}

См. здесь для справки - http://v4-alpha.getbootstrap.com/layout/overview/

Ответ 4

Если вы хотите использовать только "родные" классы начальной загрузки, вы можете сделать это:

<input type="submit" 
    class="btn btn-primary 
        visible-xs-block 
        visible-sm-inline-block visible-md-inline-block visible-lg-inline-block">

Ответ 5

Вы также можете поместить кнопку в сетку, так что вам не нужно писать никаких дополнительных CSS.

    <div class="row">
        <div class="col-12 col-md-2">
            <button type="submit" id="submit" class="btn btn-primary btn-block">submit</button>
        </div>

        <div class="col-0 col-md-10"></div>
    </div>

Ответ 6

Это решение, которое я придумал для Bootstrap 4, поскольку я хотел, чтобы кнопка была в центре, за исключением случая, когда на мобильном разрешении я хотел, чтобы он заполнил контейнер.

Это включает в себя создание столбца сетки с обеих сторон, который скрыт при наименьшем размере d-none, но видим при малых и более высоких значениях d-sm-block, после чего я установил более широкий размер для больших и выше, чтобы кнопка оставалась разумной шириной при всех размерах:

<div class="row">
   <div class="col-lg-5 col-md d-none d-sm-block">
   </div>
   <div class="col-md text-center">
      <button type="submit" class="btn btn-primary btn-block">Register</button>
   </div>
   <div class="col-lg-5 col-md d-none d-sm-block">
   </div>
</div>

Ответ 7

Для Bootstrap 4.3 вы можете использовать встроенные классы. Мобильный: Блок дисплея Рабочий стол: отображение встроенного блока

<a href="#button1" class="btn d-block d-md-inline-block">Button 1</a>
<a href="#button1" class="btn d-block d-md-inline-block">Button 2</a>