2012-05-08 11 views
2

"display:inline-block"を設定したdiv(複数列ページ)があります。これがラッピングを防ぐべきではありませんか?私はそれらを並べて欲しい:"display:inline-block"であっても、DIVの折り返しが行われます

div.LabelColumn 
{ 
    display: inline-block; 
    padding: 10px 0 0 40px; 
    vertical-align: top; 
} 

div.DataColumn 
{ 
    display: inline-block; 
    padding: 10px 0 0 5px; 
    vertical-align: top; 
} 

明確にするために、私はDIVを並べて、すなわち列として表示したい。私は彼らのそれぞれが必要とするほどの部屋を取るようにしています。私が表示したいものを使って、それらのそれぞれは約100ピクセルしか使いませんので、いくつかの列を並べて表示するのに十分な余裕があります。最初の列はラベルを持ち、2番目の列はデータのビット、3番目の列はラベル、4番目の列はデータのビットです。

ページの上位ビューを表示するために、私は左に浮いているdivを持っています。その右には、複数のデータ列が必要です。ちなみに、これはChromeでは動作していますが、IEでは動作しません。

可能であれば、DIVのテキストと同じ幅に自動的に調整するようにしたいと思います。

+0

それが意味するものであれば、それは積み重ならないでしょうか?それ以外の場合は、より詳細に説明する必要があります。あなたのコードは、フィドル:http://jsfiddle.net/mYAG6/ –

答えて

6

インラインブロックを削除し、フローティングを使用し、幅とパディングマージンを割り当てます。 Here is the demo

+0

私は "幅"を離れることができるように見え、各DIVは必要なだけ多くのスペースを占有します。 – birdus

+1

あなたのデモでは、ブラウザウィンドウのサイズを変更すると、divはまだ次の行に折り返されます。 – fretje

3

inline-blockを使用しても、要素の折り返しが防止されません。実際には、div要素に適用すると、逆の処理を行います。

0

これらをすべて並べて表示するには、その要素を含めるには十分な幅が必要です。空白:nowrap;を適用することで、要素内で折り返しが発生するのを防ぐことができますが、これはマークアップをどのように構造化したかによって、他の効果があります。

関連する問題