2011-07-02 12 views
11

私は入力要素に問題を抱えている:その絵に自分のCSSは、彼らはまだその持っている永続的な余裕と1ピクセルの高さの差

margin: 0; 
padding: 0; 

ですが

problematic input elements

わずかなマージンを取り除くことはできません。ボタンをテキストフィールドの近くに置くには、-4pxの負のマージンを使用する必要がありました。

さらに、私はFirefoxとChromeの間に問題があります。 送信ボタンは同じ高さではないようです。 Chrome上の入力バーと一緒に送信ボタンを合わせる高さを設定すると、Firefox上でそれを分割したり、その逆もあります。明らかな解決策はないようです。あなたはクローム(右)ボタンと入力フィールドに完璧にフィットところ、Firefoxで、彼らは1ピクセルの高さの差があるでしょうことを確認することができ、画像で

1px difference between buttons http://gabrielecirulli.com/p/20110702-170721.png

これらの2つの問題(永続的なマージンと1pxの違い)の解決法はありますか?


編集:私は最初の問題を修正した、それは二つの要素は、HTMLコード内の改行で区切られたという事実によって引き起こされました。 There's still a difference between the two elements

+0

コードをご記入ください。
font-size、height、border-top、border-bottom CSSプロパティを確認してください。 – SAIF

答えて

8

これを試す:demo fiddle

HTML:

<span><input type="text" /><input type="submit" /></span> 

はCSS:IE8、IE9、オペラ11.50、サファリ5.0.5、FF 5.0、クロム12.0でWin7の上でテストさ

span, input { 
    margin: 0; 
    padding: 0; 
} 
span { 
    display: inline-block; 
    border: 1px solid black; 
    height: 25px; 
    overflow: hidden; 
} 
input { 
    border: none; 
    height: 100%; 
} 
input[type="submit"] { 
    border-left: 1px solid black; 
} 

。通常のボタンのような送信入力を頑強に表示するので、IE7だけが失敗します。あなたの第二の問題については

1

(左)ボタンがChromeでより2ピクセル背が高い(右)二つの要素の形状を強調することによって を、あなたはFirefoxでそれを見ることができます: 第二の問題は、あなたがここに見ることができるように、しかし、持続します私の考えでは、CSSはあなたの入力レイアウトと干渉しているようです。

http://jsfiddle.net/F3hfD/1/あなたが何を求めているのかは問題なく解決できます。

+0

第2号もあなたのフィドルに表示されます:http://gabrielecirulli.com/p/20110702-172143.png(Firefoxを左に、Chromeを右に) –

+0

@Gabriele、固定高さを設定することでこれを解決できます。ボタンはあなたのブラウザに依存するだけでなく、ブラウザが動作しているOSにも依存するため、ボタンが厄介です。更新されたフィドルをチェックしてください。 – Ben

+0

私もそれを試みました。これを行うと、2つのブラウザ間に別の問題が発生します。http://gabrielecirulli.com/p/20110702-173514.png –

0

を参照してください、私は単純に

padding-bottom:1px; 
0

Iは上部に挿入された入力に次のスパンにglyphiconを有していた:1ピクセルの入力を前記2の容器にこれを追加しました。 スパンにtop:0pxを設定して、問題は修正されました。 しかし、スレッドの実際の答えは完全に問題があり、ユーザーは要素をよりよく理解して修正する必要があります。

関連する問題