我有一系列由按钮和文本组成的行,如下所示:
[Button] [Text]
[Button] [Text]
[Button] [Text]
...
当我应用multicol
类时,它们最终会环绕,如下:
[Button] [Text] [Button] [Text]
[Button] [Text] ....
不幸的是,在许多情况下,当进入下一列时,按钮或文本会被分成两半。 使用“display:inline-block”会使我的按钮和文字在不同的屏幕分辨率下大小不一,并使它们间隔得很奇怪。
保持[Button] [Text]
组合不会破坏列的最佳方法是什么,同时保持每个[Button] [Text]
组合等间隔,并且看起来相同?
.multicol {
column-count:2;
-moz-column-count:2;
-webkit-column-count:2;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
<!-- Imagine 20-25 of these in a row -->
<div class='multicol'>
<div class='row'>
<div class='col-xs-5'>
<button class='btn btn-block' style='min-width: 100px;'> (VARYING-LENGTH BUTTON NAMES HERE) </button>
</div>
<div class='col-xs-7'>
<p> (VARYING-LENGTH DESCRIPTIONS HERE) </p>
</div>
</div>
</div>
答案 0 :(得分:4)
首先,将white-space: normal
添加到button
以覆盖bootstrap的btn
类中的默认 nowrap 。
不幸的是,在很多情况下,按钮或文本会被打破 进入下一栏时的一半。使用“display:inline-block” 使我的按钮和文字在不同的屏幕上大小不一 分辨率,并使它们间隔奇怪。
好吧,您可以通过使用以下方式
-webkit-column-break-inside: avoid; /* Chrome, Safari, Opera */
page-break-inside: avoid; /* Firefox */
break-inside: avoid; /* IE 10+ */
并使它们间隔奇怪
添加column-gap: 0
以删除默认列空白。
.multicol {
column-count: 2;
-moz-column-count: 2;
-webkit-column-count: 2;
column-gap: 0;
}
.multicol button {
white-space: normal;
}
.multicol>.row {
-webkit-column-break-inside: avoid; /* Chrome, Safari, Opera */
page-break-inside: avoid; /* Firefox */
break-inside: avoid; /* IE 10+ */
}
/*for illustration*/
.multicol>.row>* {
border: 1px solid;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
<!-- Imagine 20-25 of these in a row -->
<div class='multicol'>
<div class='row'>
<div class='col-xs-5'>
<button class='btn btn-block' style='min-width: 100px;'> (VARYING-LENGTH BUTTON NAMES HERE) </button>
</div>
<div class='col-xs-7'>
<p> (VARYING-LENGTH DESCRIPTIONS HERE) </p>
</div>
</div>
<div class='row'>
<div class='col-xs-5'>
<button class='btn btn-block' style='min-width: 100px;'> (VARYING-LENGTH BUTTON NAMES HERE) </button>
</div>
<div class='col-xs-7'>
<p> (VARYING-LENGTH DESCRIPTIONS HERE) </p>
</div>
</div>
<div class='row'>
<div class='col-xs-5'>
<button class='btn btn-block' style='min-width: 100px;'> (VARYING-LENGTH BUTTON NAMES HERE) </button>
</div>
<div class='col-xs-7'>
<p> (VARYING-LENGTH DESCRIPTIONS HERE) </p>
</div>
</div>
<div class='row'>
<div class='col-xs-5'>
<button class='btn btn-block' style='min-width: 100px;'> (VARYING-LENGTH BUTTON NAMES HERE) </button>
</div>
<div class='col-xs-7'>
<p> (VARYING-LENGTH DESCRIPTIONS HERE) </p>
</div>
</div>
<div class='row'>
<div class='col-xs-5'>
<button class='btn btn-block' style='min-width: 100px;'> (VARYING-LENGTH BUTTON NAMES HERE) </button>
</div>
<div class='col-xs-7'>
<p> (VARYING-LENGTH DESCRIPTIONS HERE) </p>
</div>
</div>
</div>
现在您可以在这里添加一些 flexboxes 以适合您的情况 - 请参阅下面的演示:
.multicol {
column-count: 2;
-moz-column-count: 2;
-webkit-column-count: 2;
column-gap: 0;
}
.multicol button {
white-space: normal;
}
.multicol>.row {
display: flex; /*NEW*/
margin: 0; /*NEW*/
-webkit-column-break-inside: avoid; /* Chrome, Safari, Opera */
page-break-inside: avoid; /* Firefox */
break-inside: avoid; /* IE 10+ */
}
.multicol p { /*NEW*/
height: 100%;
}
/*for illustration*/
.multicol>.row>* {
border: 1px solid;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
<!-- Imagine 20-25 of these in a row -->
<div class='multicol'>
<div class='row'>
<div class='col-xs-5'>
<button class='btn btn-block' style='min-width: 100px;'> (VARYING-LENGTH BUTTON NAMES HERE) </button>
</div>
<div class='col-xs-7'>
<p> (VARYING-LENGTH DESCRIPTIONS HERE) </p>
</div>
</div>
<div class='row'>
<div class='col-xs-5'>
<button class='btn btn-block' style='min-width: 100px;'> (VARYING-LENGTH BUTTON NAMES HERE) </button>
</div>
<div class='col-xs-7'>
<p> (VARYING-LENGTH DESCRIPTIONS HERE) </p>
</div>
</div>
<div class='row'>
<div class='col-xs-5'>
<button class='btn btn-block' style='min-width: 100px;'> (VARYING-LENGTH BUTTON NAMES HERE) </button>
</div>
<div class='col-xs-7'>
<p> (VARYING-LENGTH DESCRIPTIONS HERE) </p>
</div>
</div>
<div class='row'>
<div class='col-xs-5'>
<button class='btn btn-block' style='min-width: 100px;'> (VARYING-LENGTH BUTTON NAMES HERE) </button>
</div>
<div class='col-xs-7'>
<p> (VARYING-LENGTH DESCRIPTIONS HERE) </p>
</div>
</div>
<div class='row'>
<div class='col-xs-5'>
<button class='btn btn-block' style='min-width: 100px;'> (VARYING-LENGTH BUTTON NAMES HERE) </button>
</div>
<div class='col-xs-7'>
<p> (VARYING-LENGTH DESCRIPTIONS HERE) </p>
</div>
</div>
</div>