Bootstrap にはデフォルトの方法があります。または、行内の各スパンが 100% にならない 767px (モバイル) 未満でそれを行うように編集するにはどうすればよいですか? 私はちょうどそれらが 50% に行きたいと思っています ... たとえば、2 つのスパンを上下に並べるのではなく、並べて配置します。
前もって感謝します
Bootstrap にはデフォルトの方法があります。または、行内の各スパンが 100% にならない 767px (モバイル) 未満でそれを行うように編集するにはどうすればよいですか? 私はちょうどそれらが 50% に行きたいと思っています ... たとえば、2 つのスパンを上下に並べるのではなく、並べて配置します。
前もって感謝します
この質問は古いことは知っていますが、この同じ問題の解決策を探しているときに出くわし、自分で見つけました。他の誰かがこのページを見つけた場合に備えて、ソリューションを投稿する必要があると思いました。
私の問題は、4 つの列 (4 つの span3 リスト項目) を持つ応答性の高い Bootstrap ページと、3 つの列 (3 つの span4 リスト項目) を持つ別のページがあることでした。767px 未満の場合は、両方とも 2 つの列になるようにしたかったのです。私の構造は、span12 内で行流体が数回繰り返される 4 列のページでは次のようになります。
<div class="span12">
<div class="row-fluid">
<ul class="thumbnails">
<li class="span3"></li>
<li class="span3"></li>
<li class="span3"></li>
<li class="span3"></li>
</ul>
</div>
</div>
3 列のページの構造は次のようになります。ここでも、span12 内で行流体が数回繰り返されます。
<div class="span12">
<div class="row-fluid">
<ul class="thumbnails">
<li class="span4"></li>
<li class="span4"></li>
<li class="span4"></li>
</ul>
</div>
</div>
その構造は、サムネイルに関する Bootstrap セクションから取得されます。以下は、両方を 767px 以下の 2 つの列に変換するために追加した CSS です。
@media screen and (max-width: 767px) {
/* remove clear from each ul to stop them from breaking into rows */
ul.thumbnails::after {
clear: none;
}
/* make the width of each span equal to 47% instead of 100%.
You could make it closer to 50% if you have no borders or padding etc. */
ul.thumbnails li[class*="span"]{
width: 47%;
float: left;
}
// select the second span in each row (ul) on the 3 column page
[class*="span"] .span4:nth-child(2),
// select the first span in the even rows on the 3 column page
[class*="span"] .row-fluid:nth-child(even) .span4:nth-child(1),
// select the even spans in each row on the 4 column page
[class*="span"] .span3:nth-child(even)
{
float: right; //float them all to the right
}
}
同じ構造を使用していない場合は、これらのセレクターを調整する必要があります。それらは最も洗練されたセレクターでもありません。それらを機能させるとすぐに、私はもうそれらで遊ぶことを気にすることができませんでした. これが誰かに役立つことを願っています!
[編集] 私は実際にすべてのコードで、row-fluid ではなく fluid-row を使用していることに気付きました。ただし、fluid-row にはスタイルシートにルールがありません。
CSS で正しいセレクターを使用するフィドルへのリンク: http://jsfiddle.net/rUCgS/4/
.row-fluid [class*="span"]
内部の動作を単純に変更し、 を押し@media (max-width: 767px) { ... }
たときに元に戻しましたmax-width: 480px
。また、行の最初の 2 つのスパンにクラス.span-control
を追加して、両方のマージン左が削除されていることを確認しました。
このように見えるはずです
タグは jsfiddle には便利でした!important
が、スタイルシートでは必要ありません。
2 つの span6 で行の代わりに行流体を試してください。
HTML:
<link href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.1.0/css/bootstrap-combined.min.css" rel='stylesheet' type='text/css' />
<div id='wrap' class='container'>
<div id='row1' class='row-fluid'>
<div id='box1' class='span6'>
box1
</div>
<div id='box2' class='span6'>
box2
</div>
</div>
</div>
CSS:
#wrap{
background-color:black;
height:50px;
}
#box1{
background-color:green;
}
#box2{
background-color:red;
}
ここで確認してください