2011-07-23 10 views
1

対応する入力フィールドが必要になるたびに、ラベルが途切れないようにするための小さなスクリプトを書きました。それだけのFirefoxで期待どおりに動作しますが、私が試した他のすべてのブラウザでは(クロム、Internet Explorerや他の人が)下のボーダーが正当化保管しない:http://jsfiddle.net/5nZWJ/68/移動ラベルがFirefoxでうまく見える - 他のブラウザでうまくいかない

問題がある:

ここでそれをチェックアウトしてください説明するのは難しいですが、試してみると分かります)。

すべてのブラウザでこのことをFirefoxのように見えるように変更するにはどうすればよいですか?

ありがとうございます!

+1

私はChromeで同じjsfiddle結果を得て、OSXでFF5を得ました –

+0

ああ!最初の試合ではバンプを気付かなかった - それはアニメーションの開始時に表示されます。 –

+0

興味深い - それは「良い」結果(境界線が揃っている)か悪い結果ですか? – speendo

答えて

2

私はあなたの問題を解決しました。それはすべてのブラウザで今スムーズです:http://jsfiddle.net/5nZWJ/70/

キーはから絶対位置#formWrapperを持っています。これは、高さが増加したときに上から上に拡大し、上からの位置を再計算する必要がないことを意味します。

CSS:

#wrapper { 
    background-color: lightblue; 
    height: 110px; 
    width: 500px; 
    position:relative; /* Allows absolute figures to be predictable */ 
} 

#formWrapper { 
    background-color: yellow; 
    border-bottom: 4px solid red; 
    bottom: 29px; /* Changed from top and new measurement added */ 
    left: 120px; 
    height: 57px; 
    position: absolute; 
    z-index: 1; 
    width: 108px; 
} 

はJavaScript:

それはもはや変更または再計算する必要があるように私は、位置を参照するコードのすべての行を削除しません。

+0

クール、ありがとう! – speendo

1

私はこれが

http://ejohn.org/blog/sub-pixel-problems-in-css/

境界ピクセルをカウント(ない実際には同じ問題が、あなたは、いくつかのアイデアを得る)どのように異なるブラウザ関連するかもしれないと思う

代わりに境界線を使用して、私はあなたをお勧めしますエレメントの周りにdivラッパーを追加します。背景色はボーダーカラーに設定され、パディングはボーダー幅に設定されます。

+0

ありがとう。 hm、国境のプロパティは変わらないので、どのようにこれを関連付けることができますか? – speendo

+0

アニメーションのために要素のY位置が整数でない場合、境界線はサブピクセルの位置に当たって、異なるブラウザで異なる位置に配置されます。 –

+0

はそれをチェックします...ありがとう! – speendo

関連する問題