2013-06-12 180 views

回答

-1

你需要使用一些這樣的事

div{ 
    width: 300px; 
    height: 300px; 
    background: linear-gradient(pink, red); 
    border: 20px solid rgba(0,0,0,0.3); 
    -moz-background-clip: padding; 
    -webkit-background-clip: padding; 
    background-clip: padding-box; 
} 
+0

是的。有用。但爲什麼透明邊框顯示不正確?這是一個錯誤? – dimann90

+0

對於透明邊框你必須使用像rgba這樣的RGB代碼(0,0,0,0.3) –

+0

0.3是透明度的數量 –

1

@ dimann90有意見正確的解決方案。在元素上使用background-repeat: no-repeat

這也是爲什麼這個工程:

背景圖像在x和默認y方向無限重複。線性漸變是一個背景圖像,該圖像的大小由內容框的大小控制(實際上它是more complicated,但這對我們的目的來說已經足夠了)。元素的背景貫穿填充和邊框(但不包括邊距)。所以,邊框會導致元素框的總大小比生成的背景圖片大,並且會重複。如果邊框是透明的,那麼重複的圖像將顯示出來。

+0

這種解決方案解決了這個問題,但由於某些原因,在設置「no-repeat」時,OSX上的Chrome中出現了消除鋸齒的問題。此外,我個人使用透明邊框的原因是,元素具有與邊框元素相同的尺寸(我有兩個並排的按鈕 - 一個帶有漸變bg,一個帶有透明bg和邊框) 。當設置「no-repeat」不再有效時(帶邊框的透明按鈕現在是其「border-width」大於另一個的邊框寬度) – powerbuoy