2012-03-19 11 views
23

こんにちは私はフォームを作っているので、同じ高さを与えて&の幅を入力して&の選択タグを選択タグが入力タグと同じ高さにならないようにします。 ....フォームの入力と選択タグの高さの問題

あなたはまさに私が何を問題とselectタグの高さで唯一の画素差分提案することができます....

ここであなたは、問題についてのアイデアを得るでしょうデモです: - http://jsfiddle.net/RCnQa/12/

+0

[HTMLで入力とテキスト入力を選択する - 同じ幅にするのに最適な方法ですか?](http://stackoverflow.com/questions/895904/select-inputs-and-text-inputs-in-html-ベストウェイからメイク幅まで) –

+0

フィディボックスでは、選択と入力ボックスでフォントサイズが異なるため、3ピクセルの違いがあります。しかし、それらを等しくすると、1pxの差はまだ存続します。 –

答えて

34

あなたのselect &に高さを与える必要があることも、このためにbox-sizingプロパティを与えます。

select { 
    border:1px solid #ccc; 
    vertical-align:top; 
    height:20px; 
} 
input, select{ 
    box-sizing: border-box; 
    -moz-box-sizing: border-box; 
    -webkit-box-sizing: border-box; 
} 

チェックIE8以上&でこのhttp://jsfiddle.net/RCnQa/16/

作品。

+0

おそらく' margin:0'を設定するべきでしょうか、デフォルトのマージンは異なります。 http://jsfiddle.net/RCnQa/18/ –

+1

リセットCSSを定義できる方が良い – sandeep

+0

作品の "vertical-align:top" –

1

視覚的には決して同じではありません。以下を使用して選択し、CSSを更新:

select { 
    border:1px solid #cccccc; 
    vertical-align:top; 
    height:23px; 
} 
+0

高さよりもむしろ 'min-height'をお勧めします –

1

私のプロジェクトの選択ボックスで同じ問題が発生しました。私はここで述べたように、私はこのことができます願ってい

http://bavotasan.com/2011/style-select-box-using-only-css/

、選択ボックスの矢印を変更することで、それを固定.....

7

box-sizingを使用してみてください:

input, select, option { 
    -webkit-box-sizing: border-box; 
    -moz-box-sizing: border-box; 
    box-sizing: border-box; 
} 
input, select { 
    width:100px; 
    height:20px; 
    border : 1px #ccc solid; 
    vertical-align:top; 
} 

例フィドル:http://jsfiddle.net/RCnQa/17/

0

11/21/17の最新のChromeでも、まだ固定された高さを設定する必要があるようです選択。

min-heightを設定する方が好きです。なぜなら、私にとっては気分がいいだけでなく、あなたが考慮していないフォントサイズを混乱させる可能性のあるあらゆる種類のプラグインがあるからです。これはクロッピングを避けるために少し安全です。

padding: .25rem .5rem; 
min-height: 2.5rem; 
font-size: 1.1em; 

注:現在、高さを強制しているので、垂直方向の詰め物を減らすことができます。

フォントサイズが変更されたときに高さを変更する場合は、paddingmin-heightにemsを使用します。

関連する問題