使用CSS3插入边框半径 [英] Inset border-radius with CSS3
问题描述
有办法用css3创建插入边框半径吗? (没有图片)
Is there way to create inset border radius with css3? (Without images)
我需要一个这样的边框半径:
I need a border radius like this:
推荐答案
'发现实现这一点与所有的CSS和HTML(无图像等)是由使用CSS3渐变,每个Lea Verou。从她的解决方案:
The best way I've found to achieve this with all CSS and HTML (no images, etc.) is by using CSS3 gradients, per Lea Verou. From her solution:
div.round {
background:
-moz-radial-gradient(0 100%, circle, rgba(204,0,0,0) 14px, #c00 15px),
-moz-radial-gradient(100% 100%, circle, rgba(204,0,0,0) 14px, #c00 15px),
-moz-radial-gradient(100% 0, circle, rgba(204,0,0,0) 14px, #c00 15px),
-moz-radial-gradient(0 0, circle, rgba(204,0,0,0) 14px, #c00 15px);
background:
-o-radial-gradient(0 100%, circle, rgba(204,0,0,0) 14px, #c00 15px),
-o-radial-gradient(100% 100%, circle, rgba(204,0,0,0) 14px, #c00 15px),
-o-radial-gradient(100% 0, circle, rgba(204,0,0,0) 14px, #c00 15px),
-o-radial-gradient(0 0, circle, rgba(204,0,0,0) 14px, #c00 15px);
background:
-webkit-radial-gradient(0 100%, circle, rgba(204,0,0,0) 14px, #c00 15px),
-webkit-radial-gradient(100% 100%, circle, rgba(204,0,0,0) 14px, #c00 15px),
-webkit-radial-gradient(100% 0, circle, rgba(204,0,0,0) 14px, #c00 15px),
-webkit-radial-gradient(0 0, circle, rgba(204,0,0,0) 14px, #c00 15px);
background-position: bottom left, bottom right, top right, top left;
-moz-background-size: 50% 50%;
-webkit-background-size: 50% 50%;
background-size: 50% 50%;
background-repeat: no-repeat;
}
最终结果是一组带有曲线的透明渐变。查看完整的 JSFiddle 演示,并以它的外观来回放。
The net result is a set of transparent gradients with curves. See the full JSFiddle for a demo and to play around with the way it looks.
显然这取决于对 rgba
和 gradient
的支持应该被视为渐进增强,或者如果它对设计很重要,您应该为旧版本的浏览器(尤其是IE不支持 gradient
甚至通过IE9)。
Obviously this depends on support for rgba
and gradient
, and accordingly should be treated as a progressive enhancement, or if it's essential to the design, you should supply an image-based fallback for older browsers (especially IE, which doesn't support gradient
even up through IE9).
这篇关于使用CSS3插入边框半径的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!