2012-01-19 4 views
10

jQueryスライダを使用して、段落テキストを含むDIVのパディングを調整しています。私はすべての面のパディングを均等に増やすので、囲まれた段落をページの中心に常に狭い列にする必要があります。jQuery CSSレンダリング - Firefoxでは動作しません。

これはFirefoxで機能しますが、Chromeでは段落の幅が一定のままです(つまり、DIVの詰め物がその部分を押し込むほど幅が狭くならないため)。レイアウトを右に移動します。

ここで問題を再現しました:jsfiddle.net/ms3Jd違いを見るには、ChromeとFirefoxで試してみてください。

囲まれた段落を更新するようにChromeに強制する方法についてのアイデアはありますか?

+2

ウェブキットのバグのようです。 – thirtydot

+0

することができますが、Chromeにページ要素を更新/再描画/再計算するよう強制する(または騙す)方法はあるが、それを行う方法はわからない。何か案は? – Mateo

答えて

13

は、私がページ要素を強制的(またはトリック)Chromeを リフレッシュに/再描画/ recalcuateする方法があります知っているが、知りませんどうすれば です。何か案は?ここから撮影

How can I force WebKit to redraw/repaint to propagate style changes?

sel.style.display='none'; 
sel.offsetHeight; // no need to store this anywhere, the reference is enough 
sel.style.display='block'; 

私はすぐにここでそれを適用していますが、機能にそれを行う必要がありますhttp://jsfiddle.net/thirtydot/ms3Jd/5/

+2

jQueryプラグインのバージョン:http://jsfiddle.net/thirtydot/ms3Jd/7/。あまりにも過剰かもしれない.. – thirtydot

+0

それは動作します - あなた(そして他の回答者)ありがとう - あなたは天才です! – Mateo

0

あなたがオーバーフローを追加し、フロートすることができますプロパティ:

#preview > div { 
    padding: 5%; 
    overflow: auto; 
    float: left; 
} 
+0

うん...それは進歩で、私たちはそこに半分を得ます。ありがとう。私はjsfiddleで試しました - パディングを増やすと、段落が再計算されます。しかし、パディングをもう一度減らすと、再び広げられません。さらに細かく調整できますか? – Mateo

3

私はリフレッシュするためにクロムを強制的にfadeToを使用しています。
確信していますが、fadeToのアニメーションで、そのトリックは
になると思います。jsfiddle

$('#preview > div').css('padding', ui.value + '%').children('p').fadeTo(1, .99).fadeTo(1, 1);