2011-08-29 13 views
6

私はお互いの隣に要素を配置したいときは、いつでも浮動小数点を使用する傾向があります。 floatで2つのdivを使用するように:それらの上に残してください。 それが最善の戦略であるか、そこにはより良い選択肢があるのだろうかと思います。ページスタイリング:浮動小数点を使用する代わりに

これは私が上記のコードに向上させることができます他に何のコード例

<div> 
    <div style="float:left"> 
    <p>Alphabet</p> 
    <select style="width: 200px;"> 
    <option>A</option> 
    <option>B</option> 
    </select> 
    </div> 
     <div style="float:left; margin-left:20px;"> 
     <p>Number</p><input type="text" value="123" /> 
     </div> 
</div> 

です。それは本当に必要なのですか、私は他のタグを使うべきですか?<p>ですか?

A Live Example

答えて

1

style="display:inline-block"

そして、あなたの2番目の質問についてのための使用:labelを使用して

<div style="display:inline-block"> 
    <label for="alphabet" style="display:block;">Alphabet</label> 
    <select id="alphabet" style=" width: 200px;"> 
    <option>A</option> 
    <option>B</option> 
    </select> 
</div> 

がよりセマンティックであり、それにdisplay:blockを適用し、それが全体の幅にまたがることができます。

また、インラインCSSを使用しないようにしてください。

+3

はIE7以降でインラインブロックがサポートされていますか? – Amber

+0

はい、ハックを適用しなければならないかもしれません:http://grasshopperpebbles.com/css/css-inline-block-ie7-hack/ – Gidon

+0

インラインCSSは例です。はい私はそれを避けます – Amber

5

display:inline-block;の代わりに、thisのようなラベルを使用することもできます。

ラベルは、表示機能が制限されているデバイス、特に手持ち型のデバイスでは、クリックすると指定したフィールドが有効になるため、優れています。あなたはいつもそれらを使うべきです。

とにかく、私はフロートを使用していない点は表示されません。それらを正しく使用する方法が分かっている場合、それらはすばらしいものであり、すべてのブラウザで互換性があります。

0

float: left;を使用してください。この状況でそれを使用しない理由はありません。

これは非常にうまくサポートされています。古いブラウザーでハックしない限り、「インラインブロック」は問題ありません。float: left;を使用していた可能性があります。

+0

問題があります私はクリアを使用する必要があります:それの後ろの両方..それの周りにとにかく?? – Amber

+0

@Amberあなたが 'clear'を使ってぶつかっている問題は何ですか – Joonas

+0

親divをたどるclear divを使用すると、今度は間違ってレンダリングされます – Amber

関連する問題