2016-10-06 19 views
0

jsfiddleプロジェクトhereを参照してください。ボックスとラベルを水平に並べる方法は?cssを使用してdivとspanを垂直に配置します

.box { 
 
    display: inline-block; 
 
    height: 20px; 
 
    width: 30px; 
 
    border: 1px solid; 
 
} 
 

 
.legend { 
 
    horizontal-align: middle; 
 
}
<div class="legend"> 
 
    <div class="box" style="background-color: red;"> 
 
    </div> 
 
    <span>Alabama</span> 
 
</div>

+2

あなたは揃える垂直意味しますか? – Santi

+1

このように整列しますか? https://jsfiddle.net/Ahm7777/cckxkvov/2/ –

+0

ありがとうございます。あなたのやり方もうまくいった。 –

答えて

0

あなたは代わりにインラインで表示するのボックスをフロートすることができます。これらを整列させるには、いくつかの異なる方法があります。

https://jsfiddle.net/cckxkvov/5/

.box { 
    float: left; 
    height: 20px; 
    width: 30px; 
    border: 1px solid; 
} 

.legend { 
    horizontal-align: middle; 
} 

span { 
    display: inline-block; 
    line-height: 20px; 
} 
+0

は素晴らしい作品です!ありがとうございました! –

+0

これはcssの要素を垂直方向に整列させる良い方法ではありません。あなたは伝説のラインハイトを一つ強調していますが、これを正確に行うためのCSSプロパティがすでに用意されています。 –

+0

@SethWarburton私はこれを常に静的コンテンツに使用しています。私が同意するが、同じ結果を達成するための多くの方法がある。 –

0

なぜフレキシボックスを使用していませんか?

あなたは垂直だけでこれらのスタイルを適用し、その後.legend内の2つのアイテムを揃えるしようとしている場合:

.legend { 
    display: flex; 
    align-items: center; 
} 

あなたはクロスブラウザの互換性のためにプレフィックスを適用する必要があります覚えておいてください。

1

.box divのプロパティーをvertical-alignに設定するのが最も理にかなっており、問題が最も少ないようです。

.box { 
 
    display: inline-block; 
 
    height: 20px; 
 
    width: 30px; 
 
    border: 1px solid; 
 
    vertical-align: middle; 
 
}
<div class="legend"> 
 
    <div class="box" style="background-color: red;"> 
 
    </div> 
 
    <span>Alabama</span> 
 
</div>

+0

は私にとって非常にうまく整列しませんでした。 –

+0

@ AlexW.少し詳しく説明できますか?試すべき 'top'以外の値があります。 – j08691

+0

ありがとう、ええ、中部作品ははるかに良い。 –

1

私はあなたが揃え垂直意味と仮定?あなたが単純に垂直に整列させようとしているのであれば、等しくない高さの2つのdivを表示してください:inline-blockは最も簡単で最も効果的な方法です。あなたはほとんどあなたのコードでそれを持っていたが、浮動小数点はそれを壊す。フロートを使用しないでください!

.box { 
 
    background-color: red; 
 
    border: 1px solid; 
 
    height: 20px; 
 
    width: 30px; 
 
} 
 

 
.box, 
 
.legend { 
 
    display: inline-block; 
 
    vertical-align: middle; 
 
}
<div class="box"></div> 
 
    <div class="legend">Alabama</div>

enter link description here

関連する問題