2017-01-19 217 views
0

我把下面的數據庫,在谷歌瀏覽器是有效的CSS規則:CSS背景有無效的屬性值

background: url(/lib/editor/frames/6.1.png) center -7px/19mm 12mm no-repeat, url(/lib/editor/frames/6.2.png) center 0px/500mm 1.4mm no-repeat, linear-gradient(to right, rgb(255, 255, 255) 0%, rgb(211, 233, 203) 50%, rgb(255, 255, 255) 100%) center 5px/500mm 3.7mm no-repeat; 
background-color: white; 

當我嘗試添加該規則與JQuery的一個div,這條規則合併爲單個規則並獲得無效值

background: url(/lib/editor/frames/6.1.png) center -7px/19mm 12mm no-repeat white, url(/lib/editor/frames/6.2.png) center 0px/500mm 1.4mm no-repeat white, linear-gradient(to right, rgb(255, 255, 255) 0%, rgb(211, 233, 203) 50%, rgb(255, 255, 255) 100%) center 5px/500mm 3.7mm no-repeat; 

我如何知道它爲何無效?

+1

「我怎麼知道爲何無效?」你可以通過參考規範來了解它。在這裏你需要看看:https://www.w3.org/TR/css3-background/#the-background – BoltClock

+0

您使用jQuery的哪個版本? – Soviut

+0

@Soviut我使用jQuery v1.9.1。 –

回答

0

如果你確定這是一個錯誤,這是一個新版本的jQuery的錯誤,你應該把它報告給JQuery GitHub問題頁面;不在這裏。

一種解決方法是簡單地手動設置樣式屬性。

$('.whatever').attr('style', 'background: url(/lib/editor/frames/6.1.png) center -7px/19mm 12mm no-repeat, url(/lib/editor/frames/6.2.png) center 0px/500mm 1.4mm no-repeat, linear-gradient(to right, rgb(255, 255, 255) 0%, rgb(211, 233, 203) 50%, rgb(255, 255, 255) 100%) center 5px/500mm 3.7mm no-repeat; background-color: white;'); 
+0

但它*無效。背景顏色值最多隻能出現一次,並且必須位於最後一層(這意味着每個其他圖層的背景顏色始終是透明的,而不必指定它)。無論jQuery做什麼都是一個bug,應該這樣對待。 – BoltClock

+0

@Soviut您的解決方案有問題。請訪問以下鏈接:http://jsfiddle.net/9qgpbryy/ –

+0

@NaserYousefi我已經更新了我的答案,因爲這可能是一個錯誤。將它報告給github上的JQuery存儲庫,而不是在這裏。 – Soviut

-1

使用

background-image:url('url')