Ответ 1
HTML
<div class="container">
<div class="btn-group blocks" data-toggle="buttons">
<label class="btn btn-primary">
<input type="radio" name="options" id="option1"> Option 1
</label>
<label class="btn btn-primary">
<input type="radio" name="options" id="option2"> Option 2
</label>
<label class="btn btn-primary">
<input type="radio" name="options" id="option3"> Option 3
</label>
</div>
CSS
.blocks .btn-primary
{
padding: 24px 12px;
margin: 0 5px;
border-radius: 0;
}
будет выглядеть так:
Если я применяю класс, основанный на btn-group, а не только btn-group, они стали оправданными, но все еще не квадратными, и они не имеют разницы между ними
Я не думаю, что класс btn-group-justified
будет использовать без btn-group
. Хотя это не похоже на то, что вы не используете btn-group
.
btn-group-justified
установите отображение в таблицу. Чтобы добавить границу между двумя ячейками, вам понадобится border-spacing
вместо margin
(см.: Почему div с "display: table-cell; "" не зависит от маржа?)
теперь у вас есть html:
<div class="container">
<div class="btn-group btn-group-justified blocks" data-toggle="buttons">
<label class="btn btn-primary">
<input type="radio" name="options" id="option1"> Option 1
</label>
<label class="btn btn-primary">
<input type="radio" name="options" id="option2"> Option 2
</label>
<label class="btn btn-primary">
<input type="radio" name="options" id="option3"> Option 3
</label>
</div>
CSS
.blocks .btn-primary
{
padding: 24px 12px;
border-radius: 0;
}
.blocks {border-spacing:5px;}
Что будет выглядеть:
Обратите внимание, что вместо квадратов есть прямоугольники. btn-group-justified
установите общее число с группой на 100% от ее родительского. Для создания квадратов вам понадобится jQuery для установки высоты, основанной на (внутренней) ширине ваших кнопок. (см.: Высота шкалы CSS для соответствия ширине - возможно, с помощью formfactor)
$(".btn-group-justified.blocks .btn").height($(".btn-group-justified.blocks .btn").innerWidth());
$(window).resize(function(){ $(".btn-group-justified.blocks .btn").height($(".btn-group-justified.blocks .btn").innerWidth()); });