Twitter Bootstrap 3 Удаление ПРАВИЛЬНОГО поля и отступов на строке и col-12
Я использую источник Twitter Bootstrap 3.0 LESS в моем проекте Asp.Net MVC 5. Я использую Top Navbar (как указано здесь), а затем еще несколько строк на странице макета.
Я использую следующее для строк, чтобы принять 100% ширину страницы:
<div class="row">
<div class="col-md-12">
// More HTML code
</div>
</div>
Но это добавляет дополнительное дополнение справа от каждой строки. Это также добавляет горизонтальную полосу прокрутки к странице, а пустой вертикальный желоб по всей странице отображается при прокрутке страницы справа.
Удаление маржи справа на каждой строке и заполнение справа на всех col-md-12 корректирует макет. Однако я не считаю, что это правильный способ сделать это.
Любая идея, как удалить эти лишние поля и отступы вправо один раз для всех, на протяжении всего загрузочного файла bootstrap.css?
Ответы
Ответ 1
Ваша проблема вызвана тем, что НЕ упаковывает ваш .row
в класс .container
.
Попробуйте следующее:
<div class="container" style="width:100%;background-color:blue;">
<div class="row" style="background-color:green;">
<div class="col-md-12" style="background-color:red;">
<div style="background-color:yellow;">test test test</div>
</div>
</div>
</div>
width:100%;
на .container
сделает строки 100% (красные). По-прежнему будет дополнением к вашему контенту (желтый). Это дополнение - это желоб сетки, см. fooobar.com/questions/133055/...
Нет, это не помогает. Дополнение справа на col-md-12 все еще преобладает. Я ищу что-то общее, внедренное в .less source для любого столбца type (col - * - 12)!
Все col-*-*
имеют прописку 15px с обеих сторон. Нет никакой разницы между классами *-12
, кроме как из классов *-12
не осталось поплавка.
css/less для всех ваших классов col-*
:
[class^="col-"] {
padding-left: 0;
padding-right: 0;
}
css/less для всех классов col-*-12
:
[class$="-12"]
{
padding-left: 0;
padding-right: 0;
}
Ответ 2
Исходный код начальной загрузки
.row{
margin-right:-15px;
margin-left:-15px;
}
почему у вас есть прокладка и полоса прокрутки.
Итак, вы хотите reset их в 0px
, но если это то, что вам нужно только один раз, вы не должны переопределять исходный bootstrap CSS. Затем вы можете использовать его с обычным поведением.
Что бы я сделал, это добавить еще один класс:
<div class="row rowWithFullWidth">
<div class="col-md-12">
// More HTML code
</div>
</div>
Затем с помощью этого CSS
.rowWithFullWidth {
margin-left: 0 !important;
margin-right: 0 !important;
}
вы можете использовать .row
с нормальным поведением после.
Ответ 3
Самый простой способ решить эту проблему - прокомментировать левое и правое заполнение из всех столбцов, установить левое и правое заполнение класса контейнера на 0 и удалить отрицательный запас из строк.
Просто закомментируйте класс .row в строке 691 и в строке 714 прокомментируйте код для левого и правого заполнения в классе ^ = "col-".
Это работает для меня:
.container {
padding-right: 0;
padding-left: 0;
margin-right: auto;
margin-left: auto;
}
.row {
/*margin-right: -15px;
margin-left: -15px;*/
}
.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12, .col-sm-1, .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-10, .col-sm-11, .col-sm-12, .col-md-1, .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-10, .col-md-11, .col-md-12, .col-lg-1, .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-10, .col-lg-11, .col-lg-12 {
position: relative;
min-height: 1px;
/*padding-right: 15px;
padding-left: 15px;*/
}
Ответ 4
Вам нужно будет перейти в исходный код начальной загрузки, найти селектор .row
и изменить связанный с ним css.
Это, вероятно, не то, что вы хотите сделать.
Вместо этого я бы рекомендовал создать свой собственный селектор для использования для этого типа строки, которую вы хотите. Если бы вы это сделали, вы не могли бы назвать его .row
, потому что это противоречило бы с селектором .row
, используемым bootstrap. Вы должны называть его чем-то вроде .custom-row
Ответ 5
Как уже упоминалось выше, первое, что нужно сделать, это сопоставить классы контейнер и row:
<div class="container tight">
<div class="row">
<div class="col-md-12">
<!-- html content -->
</div>
</div>
</div>
Чтобы удалить это дополнение, вы можете использовать некоторые css следующим образом:
div.container.tight {
padding: 0;
}
div.container.tight > .row-fluid {
padding: 0;
}
Я добавил в контейнер класс плотно, чтобы ограничить это удаление отступов только этим одним пятном (или любым другим контейнером с плотным на нем). Выполнение этого в глобальном масштабе может помешать другим вещам, таким как navbars.
Ответ 6
Вы можете решить эту проблему в Bootstrap 3:
- Обертка вашей строки в div с классом контейнера или контейнерной жидкостью и добавлением прокладки 0px.
- Скрытие горизонтального переполнения.
Пример:
Сначала оберните свою строку в контейнер:
<div class="container">
<div class="row">
<div class="col-md-12">
</div>
</div>
</div>
Затем добавьте пробел 0px в ваш класс контейнера:
.container {
padding: 0px;
}
Завершить, скрыв горизонтальное переполнение:
body {
overflow-x: hidden;
}
Ta da!