Как сделать несколько строк twitter bootstrap без интервала между
Я пытаюсь получить 3 столбца на странице без какого-либо промежутка между ними в bootstrap
вот что я получаю:
![span fail]()
вот что я хочу:
![span win]()
вот код, который я сейчас использую:
<div class="row">
<div class="span4 blue1">
<h1>span4 (1)</h1>
</div>
<div class="span4 blue2">
<h1>span4 (2)</h1>
</div>
<div class="span4 blue3">
<h1>span4 (3)</h1>
</div>
</div>
Я действительно не уверен, как достичь того, что я хочу использовать bootstrap - любая помощь, оцененная
Ответы
Ответ 1
Вы можете создать свой собственный класс, который удаляет это пространство между вашими элементами сетки span
, например:
CSS
.no-space [class*="span"] {
margin-left: 0;
}
Затем вы можете просто включить его в контейнер .row
div:
<div class="row no-space">
<div class="span3 blue1">
<h1>span4 (1)</h1>
</div>
<div class="span3 blue2">
<h1>span4 (2)</h1>
</div>
<div class="span3 blue3">
<h1>span4 (3)</h1>
</div>
</div>
Также обратите внимание, что класс контейнера .row
удаляет 20px
с левой стороны для размещения элементов сетки, поэтому вам может потребоваться удалить это так:
.no-space {
margin-left:0;
}
Итак, поиграйте, чтобы увидеть, что работает.
Демо: http://jsfiddle.net/G36uQ/
Ответ 2
Завершить класс, перезаписанный .row-fluid с добавлением .no-space.
/*
* Bootstrap Grid System without space
*
* Overwrite Bootstrap grid system, removing margin
* Usage :
* Simple add no-space class with row-fluid
* <ul class="row-fluid no-space"> ... </ul>
*/
.row-fluid.no-space [class*="span"] {
margin-left: 0%;
*margin-left: -0.06944%;
}
.row-fluid.no-space [class*="span"]:first-child {
margin-left: 0;
}
.row-fluid.no-space .controls-row [class*="span"] + [class*="span"] {
margin-left: 0%;
}
.row-fluid.no-space .span12 {
width: 99.99999999999999%;
*width: 99.93055555555554%;
}
.row-fluid.no-space .span11 {
width: 91.66666666666666%;
*width: 91.59722222222221%;
}
.row-fluid.no-space .span10 {
width: 83.33333333333331%;
*width: 83.26388888888887%;
}
.row-fluid.no-space .span9 {
width: 74.99999999999999%;
*width: 74.93055555555554%;
}
.row-fluid.no-space .span8 {
width: 66.66666666666666%;
*width: 66.59722222222221%;
}
.row-fluid.no-space .span7 {
width: 58.33333333333333%;
*width: 58.263888888888886%;
}
.row-fluid.no-space .span6 {
width: 49.99999999999999%;
*width: 49.93055555555555%;
}
.row-fluid.no-space .span5 {
width: 41.66666666666666%;
*width: 41.597222222222214%;
}
.row-fluid.no-space .span4 {
width: 33.33333333333333%;
*width: 33.263888888888886%;
}
.row-fluid.no-space .span3 {
width: 24.999999999999996%;
*width: 24.930555555555554%;
}
.row-fluid.no-space .span2 {
width: 16.666666666666664%;
*width: 16.59722222222222%;
}
.row-fluid.no-space .span1 {
width: 8.333333333333332%;
*width: 8.263888888888888%;
}
.row-fluid.no-space .offset12 {
margin-left: 99.99999999999999%;
*margin-left: 99.8611111111111%;
}
.row-fluid.no-space .offset12:first-child {
margin-left: 99.99999999999999%;
*margin-left: 99.8611111111111%;
}
.row-fluid.no-space .offset11 {
margin-left: 91.66666666666666%;
*margin-left: 91.52777777777777%;
}
.row-fluid.no-space .offset11:first-child {
margin-left: 91.66666666666666%;
*margin-left: 91.52777777777777%;
}
.row-fluid.no-space .offset10 {
margin-left: 83.33333333333331%;
*margin-left: 83.19444444444443%;
}
.row-fluid.no-space .offset10:first-child {
margin-left: 83.33333333333331%;
*margin-left: 83.19444444444443%;
}
.row-fluid.no-space .offset9 {
margin-left: 74.99999999999999%;
*margin-left: 74.8611111111111%;
}
.row-fluid.no-space .offset9:first-child {
margin-left: 74.99999999999999%;
*margin-left: 74.8611111111111%;
}
.row-fluid.no-space .offset8 {
margin-left: 66.66666666666666%;
*margin-left: 66.52777777777777%;
}
.row-fluid.no-space .offset8:first-child {
margin-left: 66.66666666666666%;
*margin-left: 66.52777777777777%;
}
.row-fluid.no-space .offset7 {
margin-left: 58.33333333333333%;
*margin-left: 58.19444444444444%;
}
.row-fluid.no-space .offset7:first-child {
margin-left: 58.33333333333333%;
*margin-left: 58.19444444444444%;
}
.row-fluid.no-space .offset6 {
margin-left: 49.99999999999999%;
*margin-left: 49.86111111111111%;
}
.row-fluid.no-space .offset6:first-child {
margin-left: 49.99999999999999%;
*margin-left: 49.86111111111111%;
}
.row-fluid.no-space .offset5 {
margin-left: 41.66666666666666%;
*margin-left: 41.52777777777777%;
}
.row-fluid.no-space .offset5:first-child {
margin-left: 41.66666666666666%;
*margin-left: 41.52777777777777%;
}
.row-fluid.no-space .offset4 {
margin-left: 33.33333333333333%;
*margin-left: 33.19444444444444%;
}
.row-fluid.no-space .offset4:first-child {
margin-left: 33.33333333333333%;
*margin-left: 33.19444444444444%;
}
.row-fluid.no-space .offset3 {
margin-left: 24.999999999999996%;
*margin-left: 24.86111111111111%;
}
.row-fluid.no-space .offset3:first-child {
margin-left: 24.999999999999996%;
*margin-left: 24.86111111111111%;
}
.row-fluid.no-space .offset2 {
margin-left: 16.666666666666664%;
*margin-left: 16.52777777777778%;
}
.row-fluid.no-space .offset2:first-child {
margin-left: 16.666666666666664%;
*margin-left: 16.52777777777778%;
}
.row-fluid.no-space .offset1 {
margin-left: 8.333333333333332%;
*margin-left: 8.194444444444443%;
}
.row-fluid.no-space .offset1:first-child {
margin-left: 8.333333333333332%;
*margin-left: 8.194444444444443%;
}
Использование
<ul class="media-list row-fluid no-space">
<li class="media span4">
<a class="pull-left" href="#">
<img class="media-object" data-src="holder.js/64x64">
</a>
<div class="media-body">
<h4 class="media-heading">Media heading</h4>
...
<!-- Nested media object -->
<div class="media">
...
</div>
</div>
</li>
<li class="media span4">
<a class="pull-left" href="#">
<img class="media-object" data-src="holder.js/64x64">
</a>
<div class="media-body">
<h4 class="media-heading">Media heading</h4>
...
<!-- Nested media object -->
<div class="media">
...
</div>
</div>
</li>
<li class="media span4">
<a class="pull-left" href="#">
<img class="media-object" data-src="holder.js/64x64">
</a>
<div class="media-body">
<h4 class="media-heading">Media heading</h4>
...
<!-- Nested media object -->
<div class="media">
...
</div>
</div>
</li>
</ul>
Demo on Bootply
Ответ 3
Я добавил: offset0
по этой точной причине
.row-fluid .offset0 {
margin-left: 0
}
.row-fluid .span12.offset0 {
width: 99.99999999999999%;
*width: 99.93055555555554%;
}
.row-fluid .span11.offset0 {
width: 91.66666666666666%;
*width: 91.59722222222221%;
}
.row-fluid .span10.offset0 {
width: 83.33333333333331%;
*width: 83.26388888888887%;
}
.row-fluid .span9.offset0 {
width: 74.99999999999999%;
*width: 74.93055555555554%;
}
.row-fluid .span8.offset0 {
width: 66.66666666666666%;
*width: 66.59722222222221%;
}
.row-fluid .span7.offset0 {
width: 58.33333333333333%;
*width: 58.263888888888886%;
}
.row-fluid .span6.offset0 {
width: 49.99999999999999%;
*width: 49.93055555555555%;
}
.row-fluid .span5.offset0 {
width: 41.66666666666666%;
*width: 41.597222222222214%;
}
.row-fluid .span4.offset0 {
width: 33.33333333333333%;
*width: 33.263888888888886%;
}
.row-fluid .span3.offset0 {
width: 24.999999999999996%;
*width: 24.930555555555554%;
}
.row-fluid .span2.offset0 {
width: 16.666666666666664%;
*width: 16.59722222222222%;
}
.row-fluid .span1.offset0 {
width: 8.333333333333332%;
*width: 8.263888888888888%;
}
Ответ 4
Интервал столбца, который вы видите, является целью сетки.
Если вы хотите, чтобы у вас не было пробелов между столбцами, вы должны стилизовать эти элементы напрямую и не использовать стиль макета сетки.
Ответ 5
Если вы используете меньше файлов для создания бутстрапа css, установите @gridGutterWidth равным 0 внутри файла variables.less. В противном случае, я полагаю, это настоящая боль, чтобы изменить все поля и paddings в файле css.
Ответ 6
Если вы проверите файл grid.less в bootstrap, сетка span * будет определена в простом mixin:
#grid > .core(@gridColumnWidth, @gridGutterWidth);
Чтобы построить сетку span * без пробелов, вы можете использовать меньше:
.my-nospace-grid {
#grid > .core(78px, 0px);
}
Это даст 12 * 78px = 936px.
Чтобы выбрать свои значения, проверьте размеры по умолчанию, определенные в переменных .less:
// GRID
// --------------------------------------------------
// Default 940px grid
// -------------------------
@gridColumns: 12;
@gridColumnWidth: 60px;
@gridGutterWidth: 20px;
@gridRowWidth: (@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1));
// 1200px min
@gridColumnWidth1200: 70px;
@gridGutterWidth1200: 30px;
@gridRowWidth1200: (@gridColumns * @gridColumnWidth1200) + (@gridGutterWidth1200 * (@gridColumns - 1));
// 768px-979px
@gridColumnWidth768: 42px;
@gridGutterWidth768: 20px;
@gridRowWidth768: (@gridColumns * @gridColumnWidth768) + (@gridGutterWidth768 * (@gridColumns - 1));
// Fluid grid
// -------------------------
@fluidGridColumnWidth: percentage(@gridColumnWidth/@gridRowWidth);
@fluidGridGutterWidth: percentage(@gridGutterWidth/@gridRowWidth);
// 1200px min
@fluidGridColumnWidth1200: percentage(@gridColumnWidth1200/@gridRowWidth1200);
@fluidGridGutterWidth1200: percentage(@gridGutterWidth1200/@gridRowWidth1200);
// 768px-979px
@fluidGridColumnWidth768: percentage(@gridColumnWidth768/@gridRowWidth768);
@fluidGridGutterWidth768: percentage(@gridGutterWidth768/@gridRowWidth768);
Ответ 7
У меня была такая же проблема, как и у вас, поэтому здесь, как я получил это в последней версии Bootstrap 2.3.1:
Сначала вам нужно добавить класс "без пробела" в родительский div с классом "row" следующим образом:
<div class="row-fluid no-space">
<div class="span3">...</div>
<div class="span3">...</div>
<div class="span3">...</div>
<div class="span3">...</div>
</div>
Затем вы изменяете свой css в соответствии с количеством элементов, которые вы хотите в этой строке, например:
.no-space [class*="span"]{
margin-left: 0 !important;
width: 25% !important; // This is for 4 elements ONLY in the row
}
Математика для ширины:
100 / number of elements in the row = width.
В моем случае это было 4 элемента, так это:
100 / 4 = 25%;
Если бы это было 3 элемента, это было бы:
100 / 3 = 33.3333333333%;
Если у вас есть несколько случаев в проекте с этой проблемой, вы можете добавить уникальный код или класс в правило css, чтобы он не повлиял на всех.
Что это. Не нужно повторно загружать загрузочный файл и обрабатывать исходные файлы
PS: Этот метод также работает в гибком дизайне;)
Ответ 8
У меня есть строка с двумя столбцами. Для трех, отрегулируйте соответственно. И я добавил это в мой .css, который загружается после и, таким образом, переопределяет bootstrap.css.
.no-space { /*apply to the row */
left-margin:0;
}
.row-fluid .span6 { /* overrides bootstrap.css to allow for no gutter */
/* width: 48.051948051948045%;
*width: 48.008658008658%; */
width: 50%;
*width: 50%;
}
И html:
<div class="row-fluid no-space"> <!-- r -->
<div class="span6">
<h4 class="titles">xxx</h4>
<img src="img/system/xxx.png">
</div>
<div class="span6">
<h4 class="titles">xxx</h4>
<img src="img/system/xxx.png">
</div>
</div><!--/r-->
Теперь у меня есть два столбца с шириной 50%, между которыми нет водостока.
Ответ 9
В общем, если вы все еще хотите сохранить желоб, но просто хотите ограничить или расширить его, не создавая разрывов в крайнем правом углу, просто убедитесь, что соответствующие поля и ширина добавляются до 100%, учитывая, что край крайнего края не применяется. Итак, для вашего 3-х столбчатого макета, если вы хотите, скажем, 0,5% желоба, затем выберите 3 * 33% + 2 * 0,5% = 100%
.row-fluid .span4 {
width: 33%;
margin-left: 0.5%;
}
Ответ 10
<div>
<div class="container">
<div class="row">
<div class="span12">
<div class="row">
<div style="background:#000;" class="span6">testcont 1</div>
<div style="background:#000;" class="span6">testcont 2</div>
<div style="background:#000;" class="span6">testcont 3</div>
<div style="background:#000;" class="span6">testcont 4</div>
</div>
</div>
</div>
</div>
</div>
Ответ 11
Вот пример столбцов равной ширины с пробелами и без них: http://codepen.io/ngeorgiev/pen/Lgxin/