2012-12-18 88 views
4

我有一個輸入和一個div中的按鈕。當視口很寬時,按鈕會右移,在小屏幕上,按鈕將填充視口的寬度。但是,在Chrome瀏覽器中,當瀏覽器的尺寸小於斷點時,然後再次返回時,按鈕會保留在自己的行上。它可以像我期望的那樣在IE和FF上運行。如果我在輸入上設置了float: left,它也可以在Chrome中使用。Chrome浮動右調整大小錯誤?

這裏有一個小提琴演示該問題:http://jsfiddle.net/kSRvP/

調整輸出窗格來回看的bug。

爲什麼Chrome的行爲如此?我猜這是因爲Chrome以某種方式優化了重繪週期,並跳過了按鈕內聯的步驟(在刪除display: block和設置float: right之間),但我不確定並且想知道它是否是錯誤。

+0

我有完全相同的問題。你設法解決這個問題嗎? – vrutberg

+0

@vrutberg我不確定,但我覺得我用了左邊的浮動。你可以嘗試肖恩的解決方案,它似乎工作。 – Tetaxa

回答

0

增加按鈕的特異性可修復此問題。比如改變你的按鈕樣式在你的CSS這樣的:

.row button { 
    float: right; 
} 

我想,也許鉻處理類似的特異性和使用最後一個是你的媒體查詢。

+0

這非常有趣! – Tetaxa

1

如果你交換輸入和按鈕的位置,你會發現「bug」已經消失,但是我不知道的原因。

<div class=wrap> 
    <div class=row> 
     <input><button>Button</button> 
    </div> 
</div> 

http://jsfiddle.net/kSRvP/21/