圆角生成器

圆角生成器(border-radius 生成器),是指在线可视化调节元素四个角的水平与垂直圆角半径,实时预览并一键复制 CSS border-radius 代码的前端工具。它免费、无需注册,支持四角独立调节、椭圆异形圆角、百分比与 px 混用、blob 不规则形状与粘贴代码反解析。预览区直接渲染最终 border-radius,所见即所得,不做二次转换。圆角参数全在浏览器本地计算,内容不上传。

按当前 220×140 的预览盒,左上角实际生效约 12×12px,没有触发溢出缩放。 这是按当前预览尺寸的估算值,你项目里元素尺寸不同,结果也会不同。

左上border-top-left-radius
右上border-top-right-radius
右下border-bottom-right-radius
左下border-bottom-left-radius

切换单位时只换单位、不换算数值:border-radius 百分比按边框盒解析, 换算出来的等效值只在当前预览尺寸下成立,元素一改尺寸就不对了。 右边的「≈ N px」就是按当前预览盒现算的参考值,圆角 rem 换算同理。

基础圆角日常最常用的三档
形状配方胶囊、圆形头像、气泡、票据、叶子、椭圆
blob 不规则形状固定种子现算,每条边两个半径正好凑 100%

当前 blob 种子:deer-blob-1。有机形状生成器的约束是「每条边的两个半径正好凑满 100%」, 所以形状永远不会被溢出缩放压扁;同一个种子永远得到同一个形状。预设库更新于 2026-08

生成的 CSS 圆角代码
border-radius: 12px;

当前四角同值,最接近的官方 Tailwind 圆角类名是 rounded-xl12px),不想写任意值可以直接用它。

🔒 圆角参数的生成与解析全部在你的浏览器本地完成,内容不上传、不外发。预览区直接渲染最终 border-radius,和你复制走的是同一串代码。

如何使用圆角生成器

1

拖动滑杆调四个角的圆角半径,按需把单位切成 px 或百分比;关掉「四角联动」就能给四个角不同圆角,只调一个角就是单个角圆角。

2

打开「水平 / 垂直半径分离」做椭圆异形圆角,或者直接点胶囊按钮、圆形头像、blob 不规则形状这些预设,再按「换一个 blob」摇一个新形状。

3

在底部切换简写、四角长写、Tailwind、仅值片段四种导出格式,点「复制代码」把生成的 CSS 圆角代码粘进你的项目。

关于圆角生成器的常见问题

圆角生成器会上传数据吗?安全吗?
不会上传。圆角生成器的参数调节、代码生成与粘贴反解析全部在你的浏览器本地完成,四个角的半径数值不会发送到服务器,预览区用的就是生成的同一串 CSS,关闭页面即清除。(站点自身仅有匿名访问量统计,与你调的圆角参数无关。)
手机上能用圆角生成器吗?需要装软件吗?
可以,且不用下载任何 App 或插件。圆角生成器是纯网页实现,手机、平板、电脑浏览器打开即用,滑杆与单位下拉都是原生控件。数值输入框保留了草稿态,手机上逐字符重输不会被吃掉字符。窄屏默认关掉预览区的拖拽手柄,免得和页面滚动抢手势,改用滑杆一样能精确调。
border-radius 四个值分别对应哪个角?
顺序是从左上角开始顺时针:左上、右上、右下、左下。写少于四个值时按对角补齐:写一个是四角同值;写两个时第一个给左上和右下、第二个给右上和左下;写三个时第二个值会补给左下。所以四个角不同圆角必须写满四个值,本工具关掉四角联动后会自动折叠成最短的合法写法。
怎么用 border-radius 只给一个角加圆角?
两种写法都行。一是用简写把其余三个角写成 0,例如左上角加圆角就是 border-radius: 16px 0 0 0;二是直接用按角长写属性 border-top-left-radius。本工具关掉「四角联动」后调一个角就是单个角圆角,切到「四角长写」标签还能拿到四条按角声明,复制哪条都行。
border-radius 里的斜杠 / 是什么意思?
border-radius 斜杠前后的两组值分别是水平半径和垂直半径:前面一组按四个角给水平方向的半径,后面一组按四个角给垂直方向的半径。两者不等时圆角就是椭圆弧而不是正圆弧,也就是椭圆圆角。不写斜杠时浏览器按规范让垂直半径等于水平半径。注意按角长写用空格分隔两个值,没有斜杠。
border-radius 设成 50% 为什么不是正圆?
因为百分比是按两条轴分别解析的:水平半径按边框盒的宽度算,垂直半径按高度算。盒子不是正方形时这两个数就不相等,圆角 50% 不是正圆而是椭圆。想要正圆要么把元素做成正方形(宽高相等再写 50%),要么用像素值把水平和垂直半径写成同一个数。本页默认预览盒是长方形,正是为了让这件事一眼可见。
为什么 border-radius 调很大圆角还是不够圆?
因为触发了 CSS 规范的溢出缩放:同一条边上两个圆角的半径加起来超过边长时,浏览器会算一个系数,把八个半径一起按这个系数缩小。所以半径写再大也只能到边长的一半。更反直觉的是缩放是全局的,一条边超了、没超的那几个角也会跟着变小。本工具会实时算出这个系数和实际生效的半径。
图片加了 border-radius 圆角不生效怎么办?
图片圆角不生效通常有三种原因:一是圆角加在了外层容器而图片本身是方的,要么给 img 自己加圆角、要么给容器加 overflow: hidden 把溢出部分裁掉;二是图片上还有 border 或 box-shadow 遮住了圆角;三是父级用了 overflow: hidden,圆角被裁掉了。给 img 补一句 display: block 也能消掉底部那条基线缝隙。
圆角边框加了 border 后内侧为什么不圆?
因为圆角内外半径不是同一个数。你写的 border-radius 是外半径,内侧那条弧的半径由浏览器按规范算出来:内半径等于外半径减去该方向的边框宽度,减到 0 就画成直角。所以边框越粗,圆角边框的内侧看着越方,这不是浏览器画错了。想让内侧也圆,把外半径调到明显大于边框宽度即可。本页预览盒不画边框,实际项目里要按你自己的边框宽度再核对一遍。
按钮圆角多少合适?CSS 圆角怎么设置?
按钮圆角多少合适没有唯一答案,但有可参照的档位:标签与徽章这类小控件用 4px 上下,按钮和输入框落在 4px 到 12px 之间,卡片与弹窗 12px 到 24px,再大就开始像药丸。CSS 圆角怎么设置的关键其实不在数值本身,而在同一层级用同一档,且嵌套时外层半径等于内层半径加上两者之间的间距,这样内外两圈圆角才同心。本页下方有按控件分档的取值参考表。
怎么用 border-radius 做胶囊按钮和圆形头像?
胶囊按钮圆角用一个远大于元素高度一半的像素值即可,例如 9999px,浏览器会自动收到刚好半圆;比写 50% 稳,因为 50% 在长方形按钮上会变成椭圆。圆形头像 CSS 写 50% 并把宽高设成相等的正方形,两条一起满足才是正圆。这两个配方在本页预设里点一下就能载入。
圆角生成器能生成 blob 不规则形状吗?
能。点 blob 预设或「换一个 blob」就会按种子现算一个八值百分比圆角,例如 68% 32% 63% 37% / 62% 61% 39% 38%。约束是让每条边的两个半径正好凑满 100%,这样永远不会触发溢出缩放,形状才是连续光滑的有机曲线,而不是被压扁的怪形。同一个种子永远得到同一个形状,可以复现也可以分享。
圆角生成器能导出 Tailwind 圆角类名吗?
能。切到「Tailwind」标签就会得到 rounded 圆角类名的任意值形式,值里的空格已按 Tailwind v3.4 的任意值语法转义成下划线。带斜杠的椭圆圆角也能用:斜杠写在中括号里不会被当成透明度修饰符。四角同值时页面还会提示最接近的官方档位类名,本页下方有完整的对照表。
border-radius 动画怎么过渡才不跳变?
border-radius 是可插值属性,直接写进 transition 或 keyframes 就能做圆角过渡。出现跳变通常是两个原因:一是同一个角在起止两端用了不同单位,一端 px、一端百分比时浏览器多数情况下没法插值,只能在中途直接切换;二是两端的写法长度不一致,一端是简写一个值、另一端是带斜杠的八个值。把两端统一成同样的单位与同样的四角写法,过渡就连续了。本工具只生成静态圆角值,不生成动画代码。
生成的 border-radius 代码要加浏览器前缀吗?
基本不需要。border-radius 兼容性早就不是问题:它从 IE9 起就是标准属性,现代主流浏览器全部原生支持,直接用无前缀写法即可,所以本工具不生成任何前缀代码。旧的 -moz- 按角属性名和标准还不一样(例如 -moz-border-radius-topleft),照着写反而更容易误导,需要兼容极旧内核时请自行核对。

border-radius 参数含义速查表

border-radius 怎么写,一句话概括:一到四个长度或百分比按顺时针给四个角,需要椭圆时再用一个斜杠补一组垂直半径。这件事在中文里还有好几种叫法:圆角生成器、CSS 圆角生成器、在线圆角生成工具,说的都是同一件事 —— 把四个角的圆角半径调出来,复制走一段 CSS 圆角代码。圆角矩形 CSS 里并没有专属属性,说的就是给一个矩形元素写 border-radius,不必去找 rounded-rect 之类的东西。英文站点上的 border radius generator、css border radius generator、border radius css 指的也是它,也有人直接搜 css rounded corners;专门摇不规则有机形状的那类叫 fancy border radius。

border-radius 的完整语法是「水平半径组 / 垂直半径组」,每组一到四个值
写法含义例子
一个值四个角用同一个圆角半径border-radius: 12px
两个值第一个给左上和右下,第二个给右上和左下border-radius: 20px 4px
三个值第二个值会补给左下角border-radius: 20px 4px 2px
四个值按左上、右上、右下、左下顺时针给满border-radius: 1px 2px 3px 4px
带斜杠斜杠前是水平半径组,斜杠后是垂直半径组50% / 25%
按角长写四条独立声明,两个值之间用空格不用斜杠border-top-left-radius: 10px 20px

四个角为什么按左上、右上、右下、左下排

这个顺序和 margin、padding 的「上右下左」不是一回事,别按肌肉记忆写。圆角是从左上角起顺时针数的,缺省的值按对角补齐:写两个值时,没写的右下角跟左上角一样、左下角跟右上角一样。所以四个角不同圆角要写四个值,一个都不能省;反过来,如果你只想做单个角圆角,其余三个角写 0 或者干脆用按角长写属性会更清楚。

少写几个值时,浏览器按对角规则补齐
写了几个值左上 / 右上右下 / 左下
1 个 aa / aa / a
2 个 a ba / ba / b
3 个 a b ca / bc / b
4 个 a b c da / bc / d

斜杠 / 前后:水平半径与垂直半径

border-radius 斜杠前后的两组值互相独立:前面一组是四个角的水平半径,后面一组是四个角的垂直半径,两组各自按上面的一到四值规则展开,token 数还可以不一样。两组逐位相等时才可以省掉整个斜杠部分 —— 注意判据是逐位相等,不是「后面那组内部四个值彼此相等」。当两组不等,圆角画出来就是椭圆弧,也就是椭圆圆角。

border-radius 百分比按边框盒解析,而且是分两条轴来的:水平半径按盒子宽度、垂直半径按盒子高度。这就是为什么圆角 50% 不是正圆 —— 在一个长方形盒子上,两条轴算出来的像素数根本不相等,结果自然是椭圆。想要正圆,要么把元素做成正方形,要么改用像素值。另外单位是可以混着写的,例如水平用 px、垂直用百分比完全合法;圆角 rem 换算则要看根字号,16px 根字号下 0.75rem 就是 12px。

圆角超出盒子时浏览器会按比例缩小

这是绝大多数在线圆角工具都不讲、但一定会撞上的一条规范。CSS 的重叠曲线规则说:如果某条边上两个圆角在该方向上的半径之和超过了这条边的长度,浏览器就算一个统一系数,把八个半径一起乘上它。四条边各算一个比值,取其中最小的那个,且只会收小不会放大。

四条边各自的判定式,写反方向是这里最容易出的错
参与判定的两个半径比值
上边左上与右上的水平半径盒宽 ÷ 两者之和
右边右上与右下的垂直半径盒高 ÷ 两者之和
下边右下与左下的水平半径盒宽 ÷ 两者之和
左边左下与左上的垂直半径盒高 ÷ 两者之和

胶囊按钮、圆形头像与 blob 不规则形状

常见形状其实都是四角圆角的特例。胶囊按钮圆角用 9999px 这种远大于半个高度的值最稳,浏览器会靠上面那条缩放规则自动收到刚好半圆;写 50% 反而会在长方形按钮上拉成椭圆。圆形头像 CSS 写 50%,但必须同时把宽高设成相等,否则同样是椭圆。至于 blob 不规则形状,本页的有机形状生成器按固定种子现算,同一个种子永远得到同一个形状。

常见形状配方(数值由本站的预设数据表现算,点页面上方对应按钮即可载入)
形状border-radius 值要点
胶囊按钮9999px值远大于半个高度即可,比 50% 稳
圆形头像50%必须同时把宽高设成相等
对话气泡18px 18px 18px 2px三个角大圆角,指向说话人的那角留小值
票据标签4px 24px 24px 4px一侧接近直角、一侧大圆角
叶子0 50%对角一组 0、一组 50%
椭圆异形50% / 25%斜杠两组不等,圆角是椭圆弧
blob 有机形状68% 32% 63% 37% / 62% 61% 39% 38%每条边两个半径正好凑满 100%

blob 的那条约束才是关键:把四条边各自的两个百分比半径凑成正好 100%,就永远不会触发上一节的溢出缩放,曲线才是连续光滑的。随便摇八个数字做不出这个效果,摇出来的形状会被系统性压扁。顺带说明本工具不做的事:border-radius 的圆角是椭圆弧,和 iOS 那种连续曲率的超椭圆(squircle)不是一回事,硬凑只能得到形似神不似的结果,所以这里不提供 squircle 近似。

按钮圆角多少合适:常见控件取值参考

按钮圆角多少合适,先看元素高度:半径超过高度的一半就已经是胶囊,再大也不会更圆(上一节的缩放规则会把它收住)。所以取值只在 0 到半个高度之间挑档。至于 CSS 圆角怎么设置,更要紧的是一致性:同一层级的控件用同一档,比单个控件用了什么数值影响更大。下表是本页基础预设对应的三档常用取值,点上方的预设按钮就能直接载入再微调。

按控件类型分档的圆角取值参考(数值取自本站基础预设,非行业标准)
控件常用档位理由
标签、徽章与小图标4px只去掉扎眼的直角,视觉上仍是方块,不抢内容
按钮、输入框与下拉框4px ~ 12px同一个表单里所有控件用同一档,混档最容易显得没做设计
卡片、弹窗与图片容器12px ~ 24px面积越大越吃得住圆角,小控件照搬这一档会显得肿
头像与胶囊按钮9999px直接走上一节的配方,不参与分档

图片圆角不生效:overflow 与子元素裁剪

圆角看起来没生效时,按这几条挨个排查
现象原因解决
容器有圆角但图片还是方的圆角只加在了父元素上,子元素不会自动跟着裁给 img 自己加圆角,或给容器加 overflow: hidden
圆角被裁掉一块祖先元素写了 overflow: hidden 且自己没有圆角把圆角与 overflow 放在同一层元素上
圆角处露出直角的边或背景border 或 background 画在了圆角之外的一层把背景和边框挪到同一个有圆角的元素上
图片底部有一条缝img 默认是行内元素,底部留了基线间隙给 img 补一句 display: block
表格单元格圆角无效border-collapse: collapse 会合并边框改用 border-collapse: separate

圆角边框、阴影与 outline 怎么跟着圆角走

元素上写了 border-radius,同一个元素的背景、边框、阴影会自动跟着圆角走,只有 outline 和子元素要额外留意。最常被问的是圆角边框:加了 border 之后,你写的值是外半径,内侧那条弧的半径由浏览器按规范算出来 ——内半径等于外半径减去该方向的边框宽度,减到 0 就画成直角。这就是圆角内外半径的差,也是「边框内侧看着不圆」的成因,边框越粗越明显。

同一元素上,哪些东西会自动跟随 border-radius
一起用的东西跟不跟随圆角要留意的
background跟随,背景在圆角处被裁改了 background-clip 时裁切边界跟着变
border跟随,内半径 = 外半径 − 边框宽度粗边框会把内侧压成直角
box-shadow跟随,外阴影沿圆角轮廓外扩阴影自己没有独立的圆角属性,只能靠元素的
outline 圆角较新的浏览器才跟随自 Chrome 94、Firefox 88 起跟随,更早的版本画成直角
子元素 / 图片不跟随,得自己加圆角或裁给子元素加同样的圆角,或给容器加 overflow: hidden

另一件常问的事是 border-radius 动画:它是可插值属性,写进 transition 或 keyframes 就能做圆角过渡;两端单位不一致(一端 px、一端百分比)或写法长度不一致时无法插值,动画会在中途直接跳一下。本工具只产出静态值,动画代码要自己写。

Tailwind 圆角类名对照表:官方默认档位

下表数值取自 Tailwind CSS v3.4 的默认主题,由本站的预设数据表现算渲染。像素一列按官方口径 1rem = 16px 换算,项目改过根字号时实际像素会跟着变。需要档位以外的值就用任意值形式的 rounded 圆角类名,本工具的 Tailwind 标签直接给出可粘贴的写法。

Tailwind CSS v3.4 默认圆角档位与对应的 border-radius 值
类名主题值等价像素
rounded-none0px0px
rounded-sm0.125rem2px
rounded0.25rem4px
rounded-md0.375rem6px
rounded-lg0.5rem8px
rounded-xl0.75rem12px
rounded-2xl1rem16px
rounded-3xl1.5rem24px
rounded-full9999px9999px

Tailwind v4 重命名过整条圆角档位,同一个 tailwind 圆角类名在两个大版本里对应的值并不相同,所以这张表带着版本号看才有意义。本工具的类名输出遵循标注版本的任意值语法,其他版本请自行核对。