導致“錯誤”的Css:
div {
width: 100px;
height: 100px;
background-color: transparent;
box-shadow: 0 0 15px 20px #000 inset;
border: 100px solid #000 ;
border-radius: 150px;
}
看起來在嵌入的框陰影和周圍的邊框之間有某種1px的透明邊框。
看看這個真實例子,我可以用Chrome、Firefox和IE的最新版本再現這種奇怪的渲染。(因此不依賴于引擎)
并且在較低的邊界半徑下不會發生這種情況(換句話說,當形狀不是圓形時不會發生這種情況)
編輯:
我沒有找到讓這個東西消失的方法,但使用低不透明度使它幾乎看不見。在真正的解決方案出現之前,我會一直使用這個技巧(并保留這個問題的開放性)。
絕對看起來像是盒子陰影中的一個bug(當使用spread參數時)。作為一個變通辦法,只是使用一個覆蓋div。代碼如下:
html:
<div></div>
<div class="overlay"></div>
css:
div {
margin:10px;
width: 100px;
height: 100px;
background-color: transparent;
box-shadow: 0 0 15px 20px #000 inset;
border: 100px solid #000 ;
border-radius: 150px;
}
div.overlay {
margin-top:-310px;
}
小提琴在這里:http://jsfiddle.net/eX3cy/1/
編輯:
這里有一個模糊和傳播調整的小提琴(以顯示相同的結果,減去不想要的部分,可以實現):http://jsfiddle.net/wgpzL/