2013-04-24 49 views
2

我有一種情況,允許用戶查看通常分頁的表的全部內容,並且在罕見情況下元素變得很長。在Chrome中,當元素的高度超過32,000像素時,背景漸變將分解,呈現爲純黑色和其他各種塊。當元素高於大約32,000像素時,Chrome中的背景漸變中斷

http://jsfiddle.net/isherwood/hBm4C/1/

background: -webkit-gradient(linear, left top, left bottom, 
    color-stop(0%,#ccc), color-stop(100%,#f5f5f5)); 

我看到從2011年類似的討論here,但這似乎不同。

回答

2

好吧,這是一種獨特而明確下來一個bug在Chrome

如果您從您的造型邊境奇蹟般地工作正常:

http://jsfiddle.net/hBm4C/2/

.gradient-tall { 
width: 150px; 
height: 35000px; 
display: inline-block; 
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ccc), color-stop(100%,#f5f5f5)); 
vertical-align: top; 

}

要使用漸變和邊框,可以使用箱形陰影來實現:

.gradient-tall { 
    width: 150px; 
    height: 35000px; 
    display: inline-block; 
    box-shadow:0 0 0 1px #777; 
    background:#ccc; 
    background-image:-webkit-linear-gradient(#ccc 1%, #f5f5f5 99%); 
    vertical-align: top; 
} 

http://jsfiddle.net/hBm4C/3/

+0

非常有趣。它也修正了我的情況下的漸變。我會嘗試把背景放在一個子元素上。 – isherwood 2013-04-24 12:57:22

+0

也可以使用box-shadow創建一個假的邊界。將這個添加到答案中。 – daamsie 2013-04-24 13:02:03

+0

+1查找解決方法。如果你需要一個邊框,你可以嘗試使用'outline'代替;這似乎工作的地方'邊界'不(我只是檢查小提琴,它很好)。 'box-shadow'也可能是一個選項,雖然它比'outline'更復雜。或者,使用':before'或':after'選擇器爲你的'border'創建一個僞元素。 – Spudley 2013-04-24 13:03:12