[解決済み] Bootstrap3による垂直方向の整列
質問
Twitter Bootstrap 3 を使用していますが、2つの
div
例えば
JSFiddleのリンク
:
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
<!-- Optional theme -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap-theme.min.css">
<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<div class="row">
<div class="col-xs-5">
<div style="height:5em;border:1px solid #000">Big</div>
</div>
<div class="col-xs-5">
<div style="height:3em;border:1px solid #F00">Small</div>
</div>
</div>
Bootstrap のグリッドシステムは
float: left
ではなく
display:inline-block
というプロパティがあります。
vertical-align
は機能しません。私は
margin-top
を使えば解決するのですが、レスポンシブデザインには向いていないような気がします。
どのように解決するのですか?
<ブロッククオートこの回答ではハックを紹介していますが、ぜひフレックスボックス( ハシェム回答 というのも、現在ではあらゆるところでサポートされているからです。
<ブロッククオート
デモのリンクです。
-
ブートストラップ3
-
ブートストラップ4アルファ6
それでも必要な時にカスタムクラスを使うことができます。
.vcenter {
display: inline-block;
vertical-align: middle;
float: none;
}
<div class="row">
<div class="col-xs-5 col-md-3 col-lg-1 vcenter">
<div style="height:10em;border:1px solid #000">Big</div>
</div><!--
--><div class="col-xs-5 col-md-7 col-lg-9 vcenter">
<div style="height:3em;border:1px solid #F00">Small</div>
</div>
</div>
使用方法
inline-block
は、ブロックとブロックの間に余分なスペースがある場合(例えば
...</div> </div>...
). この余分なスペースは、列のサイズが12まで増えると、グリッドを壊してしまいます。
<div class="row">
<div class="col-xs-6 col-md-4 col-lg-2 vcenter">
<div style="height:10em;border:1px solid #000">Big</div>
</div>
<div class="col-xs-6 col-md-8 col-lg-10 vcenter">
<div style="height:3em;border:1px solid #F00">Small</div>
</div>
</div>
ここでは
<div class="[...] col-lg-2">
と
<div class="[...] col-lg-10">
(キャリッジリターンと2つのタブ/8つのスペース)。それで...
この余分な空間を蹴散らそう!!!
<div class="row">
<div class="col-xs-6 col-md-4 col-lg-2 vcenter">
<div style="height:10em;border:1px solid #000">Big</div>
</div><!--
--><div class="col-xs-6 col-md-8 col-lg-10 vcenter">
<div style="height:3em;border:1px solid #F00">Small</div>
</div>
</div>
<イグ
注目すべきは
一見すると
無駄なコメント
<!-- ... -->
? それらは
重要
-- の間に空白が生じます。
<div>
要素がレイアウト上のスペースを占め、グリッドシステムを壊してしまいます。
注:Bootplyは更新されました
関連
-
[解決済み] slackのチームIDやチャンネルIDを調べる最も簡単な方法は何ですか?
-
[解決済み] JavaScriptで要素のクラスを変更するにはどうすればよいですか?
-
[解決済み] 画像の横のテキストを縦に揃える?
-
[解決済み] チェックボックスとそのラベルをクロスブラウザーで一貫して揃える方法
-
[解決済み] How do I style a <select> dropdown with only CSS?
-
[解決済み] divの中のテキストを縦に揃えるにはどうしたらいいですか?
-
[解決済み] Twitter Bootstrapのメニューをクリックではなく、ホバーでドロップダウンさせる方法
-
[解決済み] Twitter Bootstrap 3を使用して列を中央に配置する
-
[解決済み] Bootstrap 3 の sr-only とは何ですか?
-
[解決済み】HTML5入力のプレースホルダの色をCSSで変更する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
iframeフレームワークの使用
-
[解決済み] HTML IFステートメント
-
[解決済み] How can I set the default value for an HTML <select> element?
-
[解決済み] HTMLで表示される上下の三角形(軸のない矢印)に使用できる文字は何ですか?
-
[解決済み] ローカルストレージとCookieの比較
-
[解決済み] クリック可能なラベルを持つチェックボックスを作成するには?
-
[解決済み] CSSコンテンツによるHTMLエンティティの追加
-
[解決済み] mailto:を使ってメールの件名や内容を設定することはできますか?
-
[解決済み] Webサイトのブラウザタブアイコン(ファビコン)を追加する方法を教えてください。
-
[解決済み] メモ帳++でXML/HTMLを自動整形/インデントする方法