Bootstrap col-md-offset - * не работает
Я пытаюсь добавить класс Bootstrap offset в свой код для достижения выравнивания по диагонали следующим образом:
Но я не знаю, какое смещение мне следует использовать. Я пробовал пару смещений, чтобы достичь этого, но безрезультатно.Текст покрывает весь джамботрон.Вот мой код
Html:
<div class="jumbotron">
<div class="container">
<div class="row">
<div>
<h2 class="col-md-4 col-md-offset-4">Browse.</h2>
<h2 class="col-md-4 col-md-offset-4">create.</h2>
<h2 class="col-md-4 col-md-offset-4">share.</h2>
</div>
</div>
</div>
</div>
CSS:
.jumbotron {
height: 500px;
width: 100%;
background-image: url(img/bg.jpg);
background-size: cover;
background-position: center;
}
.jumbotron h2 {
color: white;
font-size: 60px;
}
.jumbotron h2:first-child {
margin: 120px 0 0;
}
Пожалуйста, направьте меня.Заранее спасибо.
9 ответов:
Я бы не рекомендовал использовать сеточную систему в этом случае, а просто добавить увеличенное заполнение для каждого
<h2>. Таким образом, способ достижения этой цели с помощьюcol-*-offset-*будет следующим:По существу, первая строка должна охватывать всю строку (so -12). Вторая строка должна быть смещена на 1 столбец, поэтому вы смещаете на 1 и даете ей общую ширину 11 столбцов (11+1 = 12) и так далее. Вашего смещения всегда достаточно, чтобы гарантировать, что общее количество столбцов равно 12.<div class="jumbotron"> <div class="container"> <div class="row"> <div class="col-md-12"> <h2>One</h2> </div> <div class="col-md-11 col-md-offset-1"> <h2>Two</h2> </div> <div class="col-md-10 col-md-offset-2"> <h2>Three</h2> </div> </div> </div> </div>
Он работает в bootstrap 4, там были некоторые изменения в документации.Нам не нужен префикс col -, просто offset-md-3 например
<div class="row"> <div class="offset-md-3 col-md-6"> Some content... </div> </div>/ / здесь док: http://v4-alpha.getbootstrap.com/layout/grid/#example-offsetting-columns
Проверьте это bootply
Это неверно, потому что bootstrap использует margin-left:* * %
.jumbotron h2:first-child { margin: 120px 0 0; }
Должно быть:
<h2 class="col-md-4 col-md-offset-1">Browse.</h2> <h2 class="col-md-4 col-md-offset-2">create.</h2> <h2 class="col-md-4 col-md-offset-3">share.</h2>
Где проблема
В вашем HTML все
h2имеют одинаковый набор из 4 столбцов, поэтому они не будут делать диагональ.Как это исправить
A
rowимеет 12 столбцов, поэтому мы должны поместить каждыйh2в свойrow. У вас должно быть что-то вроде этого:Альтернативой является сделать каждую ширину<div class="jumbotron"> <div class="container"> <div class="row"> <h2 class="col-md-4 col-md-offset-1">Browse.</h2> </div> <div class="row"> <h2 class="col-md-4 col-md-offset-2">create.</h2> </div> <div class="row"> <h2 class="col-md-4 col-md-offset-3">share.</h2> </div> </div> </div>h2плюс смещение суммой 12 столбцов, так что каждый из них автоматически оборачивается в новую строку.<div class="jumbotron"> <div class="container"> <div class="row"> <h2 class="col-md-11 col-md-offset-1">Browse.</h2> <h2 class="col-md-10 col-md-offset-2">create.</h2> <h2 class="col-md-9 col-md-offset-3">share.</h2> </div> </div> </div>
Классы смещения Bootstrap 4 были удалены в бета-версии 1, но будут восстановлены в бета-версии 2 - Ссылка на тему
На данный момент, если вы хотите переместить столбец только на 4 единицы столбца, например, я бы предложил использовать только фиктивный заполнитель, как в моем примере ниже
<div class="row"> <div class="col-md-4">Offset 4 column</div> <div class="col-md-8"> //content </div> </div>
Если вы в порядке с небольшой настройкой - мы знаем, что bootstrap работает с шириной 12
Я уверен, что есть лучший способ сделать это, но я спешил, поэтому использовал этот трюк<div class="row"> <div class="col-md-1"> Keep it blank it becomes left offset </div> <div class="col-md-5"> </div> <div class="col-md-5"> </div> <div class="col-md-1"> Keep it blank it becomes right offset </div </div>

Comments