浮動要素の配置に関していくつかの問題があります。内部にいくつかの要素を持つテーブルセルを作成しようとしています。テキスト入力とドロップダウンのように、ユーザーがブラウザー ウィンドウのサイズを変更するときは、テキスト入力のみをサイズ変更する必要があります。ここで、私はそれを行う方法:
<table style="width: 100%;">
<tr style="vertical-align: bottom;">
<td style="white-space: nowrap; width: 20%;">
<div><span style="float: right; display: block;">
<select style="display:show;width:60px">
<option selected="" value="1">1</option>
<option value="2">2</option>
</select>
</span> <span style="display: block; overflow: hidden; padding-right: 2px;">
<input type="text" value="100.0" style="width:100%; text-align:right"/>
</span></div>
</td>
</tr>
</table>
ただし、浮動要素は非浮動要素より少し上に表示されます。
また、リンク、入力テキスト フィールド、ドロップダウンまたは別のリンクがある場合にも、入力フィールドのみがサイズ変更可能な要素である必要があります。
ここにコードがあります
<table style="width: 100%;">
<tr style="vertical-align: bottom;">
<td style="white-space:nowrap; width: 30%;">
<span style="display: block; float: left; padding-top: 3px;">
<a href="return false;"><img width="14" height="14" src=""/>
</a>
</span>
<span style="float: right; display: block; padding-top: 5px;">
<a href="return false;"> ?</a>
</span>
<span style="display: block; overflow: hidden; padding-right: 2px;">
<input value=""style="width: 100%;">
</span>
</td>
</tr>
</table>
この場合、非浮動要素が他の要素よりも上にあるということです:
基本的に、最初のサンプルで浮動要素を垂直方向に整列する必要があるため、その下部は非浮動要素の下部と同じになり、2 番目のサンプルでは非浮動要素の下部を何らかの方法で整列する必要があるため、フローティング要素と同じです。
つまり、7、8、9、10で機能させようとしています。
パディングを追加するとうまくいきますが、Firefox や Chrome では見栄えが悪くなります。
編集:
または、少なくとも、これができない理由を教えてください。
編集2:
または、問題がテーブルタグにある場合は? そのため、別のもの (div) を使用する必要があります。全体の構造はテーブルであり、セル内にいくつかの選択などがあるという違いがあるだけなので、ここでテーブルを使用するのは非常に自然です。しかし、問題がテーブルにある場合は、div で再作成しようとします。
編集3:
テーブルを削除しても、サンプル 1 の右側のフローティング要素が少し高くなります。float をパディングと絶対配置に置き換えようとしましたが、それでも高いです。
編集4:
サンプル1の場合display: none
、左要素に設定すると、浮動要素の垂直位置が正常になります。
*** UPDATE: Sorry that was my mistake to put bounty on this question, i've already solved my problem.***