首页 > web前端 > css教程 > 如何仅使用 CSS3 创建内嵌边框半径?

如何仅使用 CSS3 创建内嵌边框半径?

Patricia Arquette
发布: 2024-12-02 21:03:10
原创
441 人浏览过

How Can I Create Inset Border-Radius Using Only CSS3?

CSS3 的插入边框半径

在 CSS3 中,实现插入边框半径(其中角向内而不是向外弯曲)可以不使用图像也具有挑战性。然而,有一个巧妙的解决方案,利用 CSS3 渐变。

Lea Verou 巧妙的方法涉及创建一系列带有曲线的透明渐变,从而创建内嵌边框半径的错觉。通过精确定位这些渐变,您可以实现所需的圆角效果。

她的 CSS 代码如下所示,为具有所需插入边框半径的元素定义了一个自定义类:

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;
}
登录后复制

将此类应用于元素将产生具有内嵌边框半径的元素。值得注意的是,该技术依赖于 rgba 和渐变的支持,使其成为一种渐进增强策略。对于较旧的浏览器或不支持渐变的浏览器,建议使用基于图像的后备来提供支持。

以上是如何仅使用 CSS3 创建内嵌边框半径?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板