Bootstrap - удаление отступов или полей при меньшем размере экрана

Отредактированный: Может быть, я должен спросить, какой селектор устанавливает боковые отступы, когда ширина экрана уменьшается ниже 480px? Я некоторое время просматривал bootstrap-responseiveness.css, чтобы найти это, но, кажется, ничто не влияет на это.

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

У меня есть background color, переопределенный на селекторе container-fluid, и для больших экранов они отрисовываются на 100% по ширине, но они уменьшены до меньших размеров, По умолчанию Bootstrap добавляет поле или отступ для container-fluid или container.

<div class="container-fluid">
    <div class="row-fluid">
      test
    </div>
</div>

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

Ответ 1

Запрос @media специально для "телефонов":..

@media (max-width: 480px) { ... }

Но вы можете удалить отступы/поля для экранов меньшего размера. По умолчанию Bootstrap корректирует поля/отступы для тела, контейнера и панелей навигации с разрешением 978 пикселей.

Вот несколько запросов, которые сработали (в большинстве случаев) для меня:

@media (max-width: 978px) {
    .container {
      padding:0;
      margin:0;
    }

    body {
      padding:0;
    }

    .navbar-fixed-top, .navbar-fixed-bottom, .navbar-static-top {
      margin-left: 0;
      margin-right: 0;
      margin-bottom:0;
    }
}

Demo


Обновление для Bootstrap 4

Используйте новые адаптивные пробелы, которые позволяют устанавливать отступы/поля для разной ширины экрана (точки останова):fooobar.com/questions/90374/...

Ответ 2

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

Удаление отступов контейнера в этом случае вызовет переполнение оси x, вызванное всеми строками внутри этого класса контейнера, это одна из самых глупых вещей в сетке Bootstrap.

По логике к ней следует подходить

  • Никогда не используйте класс .container для чего-либо, кроме строк
  • Создайте клон класса .container, у которого нет дополнения для использования с не-grid html
  • Для удаления отладки .container на мобильном телефоне вы можете вручную удалить ее с помощью медиа-запросов, а затем overflow-x: hidden;, которая не очень надежна, но работает в большинстве случаев.

Если вы используете LESS, конечный результат будет выглядеть следующим образом:

@media (max-width: @screen-md-max) {
    .container{
        padding: 0;
        overflow-x: hidden;
    }
}

Измените мультимедийный запрос на любой размер, на который вы хотите настроить.

Заключительные мысли, я бы очень рекомендовал использовать Foundation Framework Сетка как способ более продвинутый

Ответ 3

Этот поток был полезен при поиске решения в моем конкретном случае (bootstrap 3)

@media (max-width: 767px) {
  .container-fluid, .row {
    padding:0px;
  }
  .navbar-header {
    margin:0px;
  }
}

Ответ 4

Чтобы решить такие проблемы, я использую CSS - самый быстрый и простой способ, я думаю... Просто измените его по вашим потребностям...

@media only screen and (max-width: 480px) {
    #your_id {width:000px;height:000px;}
}
@media only screen and (min-width: 480px) and (max-width: 768px) {
    #your_id {width:000px;height:000px;}
}
@media only screen and (min-width: 768px) and (max-width: 959px) {
    #your_id {width:000px;height:000px;}
}
@media only screen and (min-width: 959px) {
    #your_id {width:000px;height:000px;}
}

Ответ 5

Как я могу получить элемент на 100% ширину устройства, используйте отрицательные левые и правые поля на нем. Тело имеет отступы 24px, так что вы можете использовать отрицательные поля для:

element{
    margin-left:  -24px;
    margin-right: -24px;
    padding-left:  24px;
    padding-right:  24px;
}

Ответ 6

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

Для Bootstrap 3: ответ для меня не был в переписании css для .container-fluid, orrow или resettings, последовательная модель, которую я понял, была длиной более длинных слов, отбрасывая дизайн и создавая поля.

Этапы решения:

  • Проверьте свою страницу, временно удалив разделы, содержащие контейнеры, и протестируйте свой сайт на небольших браузерах. Это определит ваш контейнер проблем.

  • У вас может быть проблема форматирования div. Если вы это сделаете, исправьте. Если все хорошо, то:

  • Определите, использовались ли длинные слова, которые не являются оберткой. Если вы не можете изменить слово (например, для линий или лозунгов тегов и т.д.)

Решение 1. Отформатируйте шрифт меньшего размера в медиа-запросе для меньшего экрана (обычно я нахожу @media (max-width: 767px)).

ИЛИ

Решение 2:

@media (max-width: 767px){

h1, h2, h3 {word-wrap: break-word;}
}

Ответ 7

CSS Paulius Marčiukaitis отлично поработал для моей темы Genesis, вот как я еще больше изменил ее для моего требования:

@media only screen and (max-width: 480px) {
.entry {
background-color: #fff;
margin-bottom: 0;
padding: 10px 8px;

}

Ответ 8

.container-fluid {
    margin-right: auto;
    margin-left: auto;
    padding-left:0px;
    padding-right:0px;
}

Ответ 9

Вот что я делаю для Bootstrap 3/4

Используйте контейнер-жидкость вместо контейнера.

Добавьте это в мой CSS

@media (min-width: 1400px) {
    .container-fluid{
        max-width: 1400px;
    }   
}

Это удаляет поля ниже ширины экрана 1400 пикселей

Ответ 10

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

Например:

body {
     direction:rtl;
 }
@media (max-width: 480px) {
    body {
     direction:initial;
    }
}

Ответ 11

В Bootstrap 4 поле 15px, которое имеет исходный контейнер, каскадно опускается на все строки и столбцы. Итак, что-то вроде этого работает для меня...

@media (max-width: 576px) {
    .container-fluid {
        padding-left: 5px;
        padding-right: 5px;
    }

    .row {
        margin-left: -5px;
        margin-right: -5px;
    }
    .col, .col-1, .col-10, .col-11, .col-12, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-auto, .col-lg, .col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-auto, .col-md, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-auto, .col-sm, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-auto, .col-xl, .col-xl-1, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-auto {
        padding-left: 5px;
        padding-right: 5px;
    }
    .row.no-gutters {
        margin-left: 0;
        margin-right: 0;
    }
}