Ответ 1
.offset4 {
margin-left: 340px !important;
}
Я использую Bootstrap-Twitter, и всякий раз, когда я пытаюсь использовать строки жидкости, смещения на прогонах не работают. Вот код:
<div class="container-fluid">
<div class="row-fluid">
<div class="well span4 offset4">
Content here
</div>
</div>
</div>
И все, что происходит, - это то, что ядро не компенсирует на 4 пробела. Я разобрался с ним, но не нашел ясного ответа. У кого-нибудь есть проблема?
.offset4 {
margin-left: 340px !important;
}
Я бы не использовал свойство !important
в существующем классе смещения, так как он определяет значение пикселя, а весь смысл использования жидкости - использовать проценты.
Вот формула, которую я придумал для создания собственного смещения для рядов жидкости.
@for $i from 1 through 12 {
.row-fluid .offset#{$i} {
margin-left: (6.382978723% * $i) + (2.127659574% * $i);
*margin-left: (6.329787233638298% * $i) + (2.0744680846382977% * $i);
}
}
Итак, позвольте мне объяснить, что вы здесь видите. Это цикл for, использующий SCSS, используемый для записи классов offset1 - offset12. Это только для одного мультимедийного запроса, так как вам нужно определить его определение 3 раза (поскольку ширины и смещения изменяются в трех отдельных медиа-запросах в коде загрузки twitter). Основной принцип таков:
margin-left = (width_of_span1 * x) + (margin-left_of_row-fluid_span* * x)
Значение x
равно количеству столбцов, которые вы хотите компенсировать, поэтому для .offset1
вы использовали бы 1
как значение x
. Для .offset12
вы использовали бы 12
как значение x
.
Вам также нужно будет настроить еще один стиль, так как twitter bootstrap помещает margin-left: 0
в элемент :first-child
в контейнере .row-fluid
. Теперь самый простой способ - просто добавить атрибут !important
к вновь объявленным классам .row-fluid .offset*
. Вы также можете настроить селектор :first-child
так, чтобы он читал:
.row-fluid [class*="span"]:first-child:not([class*=offset])
Это применит только к margin-left: 0
, если элемент .span*
не имел ни одного из классов .offset*
. Хотя, поддержка браузером такого типа, вероятно, довольно ограничена.
Bootstrap теперь поддерживает это:
Начиная с 2.1.0-wip,.offset * классы теперь будут работать с жидкостной сеткой
Вот что я делаю:
<div class="row-fluid">
<div class="span4"></div>
<div class="span4">
Content here
</div>
</div>