爲什麼當我將透明邊框應用於帶線性漸變的div時,邊框在頂部和底部不透明。邊框不透明,帶線性漸變
div {
width: 300px;
height: 300px;
background: linear-gradient(pink, red);
border: 20px solid transparent;
}
截圖 http://i43.tinypic.com/2r3gjmx.png
爲什麼當我將透明邊框應用於帶線性漸變的div時,邊框在頂部和底部不透明。邊框不透明,帶線性漸變
div {
width: 300px;
height: 300px;
background: linear-gradient(pink, red);
border: 20px solid transparent;
}
截圖 http://i43.tinypic.com/2r3gjmx.png
你需要使用一些這樣的事
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;
}
@ dimann90有意見正確的解決方案。在元素上使用background-repeat: no-repeat
。
這也是爲什麼這個工程:
背景圖像在x和默認y方向無限重複。線性漸變是一個背景圖像,該圖像的大小由內容框的大小控制(實際上它是more complicated,但這對我們的目的來說已經足夠了)。元素的背景貫穿填充和邊框(但不包括邊距)。所以,邊框會導致元素框的總大小比生成的背景圖片大,並且會重複。如果邊框是透明的,那麼重複的圖像將顯示出來。
這種解決方案解決了這個問題,但由於某些原因,在設置「no-repeat」時,OSX上的Chrome中出現了消除鋸齒的問題。此外,我個人使用透明邊框的原因是,元素具有與邊框元素相同的尺寸(我有兩個並排的按鈕 - 一個帶有漸變bg,一個帶有透明bg和邊框) 。當設置「no-repeat」不再有效時(帶邊框的透明按鈕現在是其「border-width」大於另一個的邊框寬度) – powerbuoy
我不明白你想說什麼。 –