Twitter Bootstrap を使用して、次のレイアウトを使用してレスポンシブ サイトを作成しています (この質問のために簡略化されています)。
<div class="container-fluid">
<div class="row-fluid">
<!-- Left menu -->
<div class="span2">
<div class="sidebar-nav">
MENU CONTENT GOES HERE
</div>
</div>
<!-- Content -->
<div id="mainContent" class="span7">
MAIN CONTENT GOES HERE
</div>
<!-- Right column -->
<div id="rightColumn" class="span3 hidden-phone hidden-tablet">
RIGHT COLUMN GOES HERE
</div>
</div>
</div>
ブラウザー ウィンドウがタブレット サイズにサイズ変更されると、rightColumn div は予想どおり非表示になりますが、mainContent div の横に空白が残ります (サイズは span3)。
mainContent div を全幅に拡張したい (そのため、サイズが span10 に一致します)。
次の jQuery コードを使用して、mainContent div のクラス名を動的に変更し、これを実現しています (期待どおりに動作します)。
$(document).ready(function() {
var $window = $(window);
// Function to handle changes to style classes based on window width
function checkWidth() {
if ($window.width() < 980) {
$('#mainContent').removeClass('span7').addClass('span10');
};
if ($window.width() >= 980) {
$('#mainContent').removeClass('span10').addClass('span7');
}
}
// Execute on load
checkWidth();
// Bind event listener
$(window).resize(checkWidth);
});
私の質問: これは、ブラウザー ウィンドウのサイズが変更されたときに Twitter Bootstrap でスパンへの変更を処理するための推奨される方法ですか? または、タブレットの画面サイズの span7 の CSS を span10 の CSS に一致するように変更する必要がありますか?