2014-04-01 141 views

回答

2

它可以用CSS3的径向梯度完成:

enter image description here

CSS:

div{ 
    background: 
    radial-gradient(
     circle at -40px 50px, 
     transparent 80px, 
     red 80px 
    ); 
    height: 100px; 
    width: 100px; 
} 
body { background-color: blue; } 

http://jsfiddle.net/7WHAz/2/

+0

确实比我的解决方案好得多。但它不适用于旧浏览器。如果瞄准所有浏览器,我会使用一个图像,可悲的是,我的客户请求。 –

+0

@AlvaroMenéndez好点。 [浏览器支持](http://caniuse.com/css-gradients)在78%下体面,在大多数浏览器中工作,除了像往常一样的IE浏览器。 –

+0

非常有趣。希望我早点见过它。一定会用于未来的项目。 – JacobTheDev

2

这可能工作......但如果只是一个普通的背景颜色恐怕:

http://jsfiddle.net/7WHAz/

变化:

div:before {   
    background-color:white; 
} 

的颜色你的背景使用

+0

可悲的是,我需要它在对图像的工作。很好的答案,我只需要使用图像。 – JacobTheDev

+0

使用图像没有问题...只需在图像的左侧添加图像即可保存整个图像作为容器。在这个例子中,PNG大小只有3kb:http://jsfiddle.net/7WHAz/1/ –

+1

@Rev我的答案可以用于任何背景。 –