CSS 渐变边框生成器,免费
使用 border-image 属性创建精美渐变边框。调整颜色、宽度、圆角和角度,然后复制 CSS。
工作原理
- 选择颜色:通过取色器选择两种或更多颜色用于渐变。
- 调整宽度和圆角:根据您的设计调整边框粗细和圆角大小。
- 复制 CSS:通过 border-image 或伪元素技术生成的代码可直接粘贴到您的样式表中。
为什么使用此渐变边框生成器?
CSS 渐变边框是现代 UI 框架、卡片、按钮悬浮状态和重点展示区常见的醒目设计细节。然而 CSS 的 border 属性只接受纯色 · 创建渐变边框需要使用 border-image 或伪元素配合 background-clip 的技巧。此生成器覆盖两种技术并产出干净、可复制的 CSS,让您专注于设计而非语法。
功能特性
- 两种方法:可选 border-image(简单)或带 background-clip 的伪元素技术(支持 border-radius)。
- 支持 border-radius:伪元素方法可实现 border-image 无法提供的圆角。
- 多色渐变:添加任意多的色标,可用于彩虹或品牌色效果。
- 实时预览:在复制代码前即可确切看到边框的渲染效果。
- 角度控制:使用可视化角度选择器旋转渐变方向。
常见问题
为什么 border-image 不能与 border-radius 一起使用?
border-image 完全替换边框渲染并忽略 border-radius · 角仍然是方的。若要同时实现渐变边框和圆角,请使用伪元素技术:在 ::before 上应用渐变作为背景,然后对元素本身使用 background-clip: padding-box。
可以让渐变边框动起来吗?
可以。使用背景 + 伪元素方法创建的渐变边框可以通过在渐变上过渡 background-position 来实现动画。应用 background-size: 300% 300%,并对 background-position 做动画,即可获得流畅的效果。
可以用在按钮和输入框上吗?
可以,生成的 CSS 适用于任何 HTML 元素。对按钮,优先使用伪元素方式以保留 border-radius。对输入框,使用 border-image 技术,或用一个渐变容器包裹输入框。
CSS 渐变边框真正解决了什么
CSS border 属性只接受单一纯色,不接受渐变。这是 1996 年时代的限制,延续到现代 CSS。在 web 历史的大部分时间,想要在卡片或按钮周围有渐变轮廓的设计师必须在使用背景图(光栅化,不能缩放)、将元素包装在彩色容器中(有效但会微妙地破坏布局)或接受纯色边框之间做出选择。CSS 渐变边框是通过其他 CSS 属性模拟 border: 3px solid linear-gradient(...) 外观的变通方法,因为该确切语法不存在。
两种技术占主导。border-image(CSS Backgrounds and Borders Module Level 3,2012)用渐变或图像替换边框渲染。它能工作,但 border-image 完全忽略 border-radius:角落保持方形。伪元素 + background-clip 技术使用带渐变背景的包装元素和遮罩除边框区域外所有内容的内部覆盖层。这支持圆角但需要两层 CSS 并仔细处理 padding 与 content box。第三种现代方法使用 mask-composite(2020+ 浏览器)以获得更清洁的单元素解决方案。
渐变边框对当前设计趋势很重要。基于卡片的布局(Stripe、Linear、Vercel、Cursor)使用微妙的双色渐变边框,在不显沉重的情况下增加深度。高级功能高亮经常绘制彩色渐变边框来表示「Pro」状态。赛博朋克和合成波美学使用霓虹渐变边框来唤起复古未来氛围。2023-2024 年的 AI 产品发布将多色动画渐变边框标准化为视觉签名(OpenAI、Anthropic、Perplexity)。曾经需要图像编辑器的现在以 5 到 10 行 CSS 发布。
本工具的幕后运作
预览是一个 div,通过内联 CSS 应用两种技术,可根据你的方法选择切换。对于 border-image,工具设置 border: Npx solid transparent 配 border-image: linear-gradient(...) 1;1 切片值告诉浏览器为每个边框边缘使用完整大小的渐变。对于伪元素技术,工具将渐变背景应用于外部元素,并使用 ::before(或 background-clip: padding-box)遮罩内部内容区域,仅保留边框环可见。
颜色停止点存储为 {color, position} 对的 JavaScript 数组。当你选择颜色或移动角度滑块时,工具通过用逗号连接停止点并在前面加上角度来重建 linear-gradient() 字符串:linear-gradient(45deg, #ff0080 0%, #7928ca 100%)。该字符串插入到预览 CSS 和代码框中。角度滑块使用 0 到 360 度范围,带视觉 SVG 箭头旋转以获得方向反馈。
没有任何东西离开你的浏览器。渐变字符串生成、颜色存储、预览渲染和剪贴板复制都在你设备上的 JavaScript 中发生。不发出网络请求;不分析你选择的颜色。该工具除了首次加载时一次性提供的静态 HTML 和 JavaScript 之外没有任何后端。刷新页面,除非你先复制了 CSS,否则你选择的颜色和角度就消失了。
CSS 边框和渐变简史
- CSS 1 边框,1996 年。第一个 CSS 规范(CSS 1,1996 年 12 月)定义了
border-style、border-width和border-color,仅支持纯色和八种边框样式(none、dotted、dashed、solid、double、groove、ridge、inset、outset)。不支持渐变,这一架构选择持续了 16 年。 - CSS linear-gradient 发布,2008 至 2011 年。WebKit 在 2008 年引入
-webkit-gradient(),随后是 2011 年 CSS Image Values and Replaced Content Module Level 3 中的标准化linear-gradient()。渐变成为背景的一流 CSS 公民,但不是边框。设计师立即想要渐变边框;规范不容纳。 - border-image 到来,2012 年。CSS Backgrounds and Borders Module Level 3(CR 2012 年 6 月)定义
border-image,到 2014 年获得完整浏览器支持。让边框使用任何图像,包括 CSS 渐变。陷阱:border-image覆盖border-radius,所以仅用此技术,圆角渐变边框仍不可能。 - 伪元素变通模式出现,2013 至 2015 年。CSS-Tricks 和类似资源发布使用
::before伪元素配渐变背景和background-clip: padding-box技巧的变通方法。「圆角渐变边框」变得可解决,但需要理解盒模型的复杂性。到 2015 年,该模式在设计系统文档中广泛使用。 - conic-gradient 落地,2018 至 2021 年。CSS conic-gradient()(Chrome 69,2018 年 9 月;Firefox 83,2020 年 11 月;Safari 12.1,2019 年 3 月)启用圆形扫掠渐变,非常适合用渐变边框创建「加载环」效果。与动画结合,conic-gradient 边框创建 2023 年 AI 产品发布中流行的旋转辉光图案。
- mask-composite 解锁更清洁的解决方案,2020 至 2024 年。CSS Masking Module Level 1(2014)和现代浏览器(2020+)中的
mask-composite支持允许无需伪元素的单元素渐变边框:分层渐变背景,并通过合成操作遮罩除外环之外的所有内容。到 2024 年,这是最干净的生产方法,尽管伪元素变通方法仍与旧浏览器兼容。
真实世界的工作流
- 卡片组件微妙强调。现代仪表板卡片(想想 Stripe、Linear、Vercel)使用 1 到 2 像素的渐变边框,采用双色调或三色调配色方案,在不显沉重的情况下增加视觉趣味。渐变通常微妙:10% 到 20% 不透明度、低对比度,主要是灰度带一点品牌色。这足以将卡片与平坦背景区分开来,并表明可交互性。
- 高级功能高亮。SaaS 定价表在「Pro」或「推荐」计划上使用鲜明的渐变边框(通常是金色到紫色或彩虹色)以视觉地提升它。该模式有效,因为它通过颜色和运动(如果动画化)吸引眼球,无需徽章标签。Linear、Notion、Figma 和大多数现代 SaaS 定价页面都使用这种确切模式。
- 霓虹和辉光效果。赛博朋克、合成波和游戏 UI 美学将渐变边框与 box-shadow 结合,营造霓虹管外观。边框提供颜色过渡,阴影提供光晕。常见模式:
border-image: linear-gradient(45deg, #ff0080, #00d4ff) 1加box-shadow: 0 0 20px rgba(255,0,128,0.5)在同一元素上。 - AI 产品视觉身份。2023-2024 年的 AI 工具浪潮(OpenAI ChatGPT、Anthropic Claude、Perplexity、Cursor)汇聚到动画多色渐变边框上,作为「AI 正在思考」或等待 AI 处理的输入字段的视觉签名。通常是旋转锥形渐变或在 4 到 6 秒循环上变化的线性渐变。成为现代 UX 中「智能 / 生成」的简写。
- 悬停和焦点状态润色。在静止状态下从纯边框切换到悬停或聚焦时渐变边框的按钮和输入感觉高级和有意为之。如果渐变延伸到可见区域之外(
background-size: 200% 100%配滑动动画),颜色之间的过渡可以通过background-position上的 CSS 过渡动画化。 - 品牌色彩表达。具有多色徽标(Instagram、Slack、Discord)的品牌系统经常使用渐变边框将其身份扩展到 UI 组件。以品牌渐变作为边框的卡片与徽标建立视觉连续性。对于 SaaS 营销页面,这是使通用组件看起来「品牌化」的最便宜方式之一。
常见陷阱及其含义
- border-image 忽略 border-radius。最常见的混淆:将
border-image: linear-gradient(...)与border-radius一起使用会产生方角。border-image完全接管边框渲染,radius 属性对绘制结果没有影响。要获得圆角渐变边框,请使用伪元素技术或现代mask-composite方法,而不是 border-image。 - 伪元素技术需要 padding-box。标准变通使用外部元素上的
background和通过::before的内部覆盖。关键细节:内部覆盖需要background-clip: padding-box,使其在 padding 边缘停止,使边框区域可见。跳过此 clip 属性会导致渐变被覆盖层完全覆盖,没有可见边框。 - 动画化渐变边框 GPU 开销大。动画化的渐变边框(「AI 微光」模式)通过在大渐变上过渡
background-position来工作。虽然现代 GPU 处理得很好,但同时将其应用于多个元素(例如,页面上的每张卡片)会在低端设备上明显降低帧率。谨慎使用动画渐变边框:每页一个或两个「英雄」元素,而非站点范围。 - 深色模式颜色冲突。为浅色背景设计的渐变边框在深色背景上经常看起来不对。纯白渐变变得不可见;鲜艳的颜色看起来过饱和。对于双主题设计,通过 CSS 自定义属性或媒体查询为浅色和深色模式定义单独的渐变色停止。降低饱和度并调整色调以保持与周围主题的视觉和谐。
- 低对比度边框无法通过可访问性。看起来优雅的微妙渐变边框可能无法通过传达状态的 UI 组件的 WCAG 2.1 SC 1.4.11 非文本对比度(最低 3:1)。如果渐变边框是按钮边界或卡片可选择性的唯一视觉指示符,请确保与背景有足够的对比度。对于已经可见的元素上的纯装饰性边框,对比度不那么关键但仍值得检查。
- Internet Explorer 和旧 Edge 不支持任何有用的东西。IE 11(2022 年 6 月退役)和 pre-Chromium Edge(2015 到 2019)缺乏可靠的
border-image用于渐变、mask-composite以及几种伪元素技术。对于这些遗留浏览器,优雅地回退到使用渐变中间色的纯色边框。现代浏览器在 2026 年覆盖 99%+ 的用户,但遗留回退对企业软件仍然重要。
隐私:一切都在你的浏览器中运行
CSS 生成器工具有两种风格:运行客户端 JavaScript 的简单 HTML 页面(私密、快速)和保存项目的云编辑器(协作但有隐私权衡)。这个工具是第一种。你选择的颜色、你的角度、你生成的 CSS:所有都保留在你的浏览器会话中。刷新页面,状态消失,除非你先复制了 CSS。没有服务器存储你的渐变选择,没有分析跟踪你尝试的颜色组合,也不需要账户。
隐私属性主要对专有设计工作很重要。一个工作室为机密品牌重新设计原型设计渐变组合,一个开发者在未公开产品的 UI 强调上工作,或一个设计师在活动调色板上迭代:任何颜色选择或迭代历史可能泄漏工作信息的环境。使用此工具,没有任何东西被捕获,因为没有任何东西被发送。打开浏览器的网络选项卡,你会在使用期间看到零出站请求;只有初始页面加载获取 HTML 和 JavaScript。
什么时候另一个工具是正确选择
- 用于复杂边框形状的 SVG。对于非矩形渐变边框(带凹口的圆形、扇形边缘、自定义不规则形状),SVG 配
linearGradient或radialGradient应用于stroke属性提供完整控制。CSS 渐变边框适用于矩形和圆角矩形;SVG 处理其他一切。一起使用:SVG 用于装饰形状轮廓,CSS 用于标准 UI 组件。 - 用于静态渐变图像的 Photoshop。如果渐变边框在不会更改的静态英雄图像或横幅上,在 Photoshop、Figma 或 Sketch 中设计它并导出为 PNG 或 WebP 可能比维护 CSS 更简单。图像作为页面资产管线的一部分进行缩放。CSS 渐变边框适用于需要在任何尺寸下渲染的动态元素(卡片、按钮、组件)。
- 用于设计系统一致性的组件库。Tailwind UI、shadcn/ui、Radix 和其他组件库提供带可选渐变边框变体的预样式卡片和按钮组件。对于已经使用这些库的项目,应用库的变体比手动编写 CSS 更快。手编渐变边框对于一次性设计或尚未承诺组件库的项目很有用。
- 用于动画多层效果的 Canvas 或 WebGL。对于高度动画化的多层渐变效果(粒子系统、流体模拟、生成艺术),Canvas 2D 或 WebGL 提供 CSS 无法匹配的逐像素控制。权衡是实现复杂性和可访问性(canvas 内容对屏幕阅读器不可见)。对于标准 UI 组件上的装饰性渐变边框,CSS 是正确选择;对于视觉效果,考虑基于 canvas 的方法。
更多常见问题
我可以在渐变边框中使用两种以上颜色吗?
可以。CSS linear-gradient() 接受无限的颜色停止:linear-gradient(45deg, #ff0080 0%, #ffa500 50%, #00d4ff 100%) 创建一个三色渐变,中间过渡到橙色。添加任意数量的停止点,每个有可选位置。对于复杂的多色渐变(彩虹效果),均匀分布停止点:0%、16.7%、33.3%、50%、66.7%、83.3%、100%。
如何创建彩虹或锥形渐变边框?
对于锥形(扫掠)渐变,使用 conic-gradient(from 0deg, red, yellow, lime, cyan, blue, magenta, red) 作为外部元素的背景,配伪元素 padding-box 遮罩技术。对于旋转效果(在 AI 产品加载状态中流行),通过 CSS Houdini 动画化 --angle 或使用 @property --angle 配 360 度旋转动画。结果是围绕边框的平滑颜色扫掠。
我可以使用 CSS 自定义属性进行主题感知的渐变边框吗?
可以,这是设计系统的推荐方法。将渐变颜色定义为 CSS 自定义属性(--gradient-start、--gradient-end),并在你的渐变声明中使用它们:linear-gradient(var(--angle), var(--gradient-start), var(--gradient-end))。在深色模式媒体查询或主题类中覆盖变量。一个 CSS 文件通过变量重新定义处理浅色和深色主题。
这在像 Internet Explorer 这样的旧浏览器中工作吗?
Internet Explorer 11(Microsoft 于 2022 年 6 月正式退役)部分支持 border-image,但渐变渲染不可靠,没有 mask-composite。现代浏览器(Chrome 88+、Firefox 78+、Safari 14+)完全支持两种技术。如果你必须支持 IE,使用渐变中间色提供纯色回退:在渐变规则之前声明 border: 3px solid #888;,IE 将使用它,而现代浏览器应用渐变。
有单属性的方法来做渐变边框吗?
标准化 CSS 中还没有。现代提案(CSS Backgrounds and Borders Module Level 4 草案)包括 border-color 属性直接接受渐变,但浏览器实现尚不稳定。当前最接近的近似是 mask-composite 技术,使用单个元素但仍需要三个 CSS 声明。希望到 2027 年或 2028 年,border: 3px solid linear-gradient(...) 就能直接工作。
为什么我的渐变边框在 Safari 中看起来不同?
Safari 在 CSS 功能一致性方面历来落后于 Chrome 和 Firefox,特别是对于 mask-composite 值和一些 background-clip 边缘情况。在 Safari 中明确测试。如果伪元素技术在 Safari 中失败,切换到 border-image(通用工作但失去 border-radius),或使用 Safari 特定前缀:旧 Safari 版本可能需要 -webkit-mask-composite。iOS Safari 甚至在 2024 年版本中也经常需要前缀。