CSS渐变色理论与分类、文字渐变色方案、炸裂渐变色方案以及主流专业渐变色 ...

王柳  金牌会员 | 2024-6-13 17:11:15 | 来自手机 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 651|帖子 651|积分 1953


渐变色彩可以增加视觉层次感和动态结果,使网页界面更加生动有趣,吸引用户注意力。另外,相较于静态配景图片,CSS渐变无需额外的HTTP哀求,减轻服务器负载,加速页面加载速度;同时CSS渐变能够根据容器尺寸自动调整,适用于差异屏幕尺寸及分辨率设备,保持良好的自顺应性。
渐变色彩视觉机制是JINGWHALE ABCDE 概念模型体系设计建模法「具象设计模型(Design Model)」的重要色彩策略(JINGWHALE ART 年度流行色 官方 智能色彩生产平台 )。
本文介绍了CSS渐变的理论与分类、文字渐变色方案、炸裂渐变方案以及主流的专业渐变色工具网站。
一、渐变分类

CSS渐变结果允许开辟者在网页元素上创建平滑过渡的颜色厘革,包罗线性渐变(Linear Gradients)和径向渐变(Radial Gradients)。
1. 线性渐变 (Linear Gradients)

线性渐变沿着一条直线从一个或多个颜色过渡到另一个颜色。其根本语法结构如下:
  1. background: linear-gradient(direction, color-stop1, color-stop2, ...);
复制代码


  • direction 指定渐变的方向,可以是以下几种情势:

    • 角度值(例如 to left, to right, to bottom, to top, 或 45deg 等)
    • 方向关键字(例如 to bottom right)

  • color-stop 是颜色及其所处位置的声明,可以是纯颜色名称、十六进制、RGB/RGBA值,也可以附加一个百分比来精确指定颜色厘革的位置。
示例1:简单的左右线性渐变
  1. background: linear-gradient(to right, red, blue);
复制代码
这个例子中,配景颜色从左边的赤色平滑过渡到右边的蓝色。
示例2:包罗多个颜色克制点的线性渐变
  1. background: linear-gradient(to bottom, red 0%, yellow 50%, green 100%);
复制代码
此例中,配景从顶部开始为赤色,到中心位置变为黄色,末了在底部变为绿色。
2. 径向渐变 (Radial Gradients)

径向渐变是从一个点开始向外扩散的渐变结果,可以想象成一个圆大概椭圆的颜色过渡。
根本语法结构如下:
  1. background: radial-gradient(shape at position, color-stop1, color-stop2, ...);
复制代码


  • shape 可以是 circle 或 ellipse,分别代表圆形或椭圆形的渐变。
  • position 指定渐变的中心点,可以是关键词(例如 center)或具体坐标(例如 50% 50%)。
示例1:简单的圆形径向渐变
  1. background: radial-gradient(circle at center, red, white);
复制代码
在此例中,配景从中心点开始以圆形向外扩展,颜色由内至外从赤色过渡到白色。
示例2:带有半径和多个颜色克制点的径向渐变
  1. background: radial-gradient(circle farthest-side at 20% 50%, red 0%, yellow 50%, green 100%);
复制代码
这个例子中,渐变的圆心位于元素的20%宽度和50%高度的位置,且渐变范围延伸至最远的半径,颜色从赤色徐徐过渡到黄色,再到绿色。
为了确保跨浏览器兼容性,偶然需要为这些渐变规则添加供应商前缀,例如 -webkit-、-moz-、-ms- 和 -o-。随着CSS的发展,大多数当代浏览器已经无需前缀即可识别上述语法。
二、文字渐变

CSS实现文字渐变通常涉及到几个关键的CSS属性,特别是对于那些不直接支持文字颜色渐变的浏览器来说,需要借助配景渐变和特定的配景剪辑属性来间接达成目的。以下是几种实现CSS文字渐变的方法:
方法一:使用background-image配合background-clip和-webkit-text-fill-color

  1. /* 示例代码 */
  2. h1 {
  3.   font-size: 48px;
  4.   background-image: linear-gradient(to right, red, yellow); /* 创建线性渐变 */
  5.   -webkit-background-clip: text; /* 将背景渐变仅应用到文字内部 */
  6.   -webkit-text-fill-color: transparent; /* 文本颜色透明,显示背景渐变 */
  7. }
  8. /* 对于非Webkit内核的浏览器,需要添加相应前缀 */
  9. h1 {
  10.   background-image: -moz-linear-gradient(to right, red, yellow);
  11.   -moz-background-clip: text;
  12.   -moz-text-fill-color: transparent;
  13.   
  14.   background-image: -ms-linear-gradient(to right, red, yellow);
  15.   -ms-background-clip: text;
  16.   -ms-text-fill-color: transparent;
  17.   background-image: linear-gradient(to right, red, yellow);
  18.   background-clip: text;
  19.   color: transparent;
  20. }
复制代码
方法二:使用伪元素叠加配景渐变

  1. /* 示例代码 */
  2. h1 {
  3.   position: relative;
  4.   display: inline-block;
  5.   overflow: hidden;
  6.   z-index: 1;
  7. }
  8. h1::before {
  9.   content: attr(data-text); /* 显示与主元素相同的内容 */
  10.   position: absolute;
  11.   top: 0;
  12.   left: 0;
  13.   width: 100%;
  14.   height: 100%;
  15.   background-image: linear-gradient(to right, red, yellow);
  16.   -webkit-background-clip: text;
  17.   -webkit-text-fill-color: transparent;
  18.   z-index: -1;
  19. }
复制代码
方法三:借助SVG作为配景(较少使用,因兼容性和维护性问题)

  1. /* 示例代码 */
  2. h1 {
  3.   background: url('data:image/svg+xml,...'); /* 这里替换为实际SVG数据URI,其中包含文字渐变 */
  4.   -webkit-background-clip: text;
  5.   -webkit-text-fill-color: transparent;
  6. }
复制代码
请注意,在当代浏览器中,部分上述属性可能已经不需要浏览器特定的前缀,但为了确保广泛的兼容性,特别是在老旧版本的浏览器中,发起仍生存前缀。另外,尽管 -webkit-text-fill-color 和 -webkit-background-clip: text 在某些场景下被广泛使用,但并不是所有浏览器都支持这些功能,因此需要检查目的浏览器的兼容情况。
三、如何实现炸裂的渐变

“炸裂”这个词通常用来形容视觉结果强烈、动感十足或富有冲击力的设计。在CSS中,要实现这种“炸裂”的渐变结果,一般指的是具有动态厘革、高对比度大概新颖独特的渐变样式。以下是一些实现方式和示例:
1. 动态渐变配景

使用CSS动画让配景的渐变方向或颜色不停厘革,从而产生动感十足的结果。
  1. body {
  2.   --gradient-colors: red, yellow, green, blue;
  3.   
  4.   background: linear-gradient(
  5.     var(--start-angle),
  6.     var(--gradient-colors)
  7.   );
  8.   
  9.   animation: animatedGradient 10s linear infinite;
  10. }
  11. @keyframes animatedGradient {
  12.   0% {
  13.     --start-angle: 0deg;
  14.   }
  15.   100% {
  16.     --start-angle: 360deg;
  17.   }
  18. }
复制代码
2. 高对比度多层渐变叠加

通过叠加多个线性或径向渐变,增加视觉冲击力。
  1. .box {
  2.   background-image:
  3.     linear-gradient(to right, #ff0000, #ff8c00),
  4.     linear-gradient(to bottom, #00ff00, #00ffff),
  5.     linear-gradient(to top left, #0000ff, #8b00ff);
  6.   background-blend-mode: multiply, screen, overlay; /* 选择合适的混合模式 */
  7.   background-size: auto, cover, contain;
  8.   background-position: 0 0, center, right;
  9. }
复制代码
将径向和线性渐变联合起来,创造出独特的结果。
  1.   background:
  2.     linear-gradient(to right, red, yellow),
  3.     radial-gradient(circle at center, black, transparent);
复制代码
3. 引入SVG或canvas绘制爆炸式渐变

通过SVG或HTML5 canvas可以实现更复杂的动态渐变结果,比如类似于爆炸状散开的渐变图形。
  1. <svg width="100%" height="100%">
  2.   <defs>
  3.     <radialGradient id="explosion">
  4.       <stop offset="0%" stop-color="#ff0000" />
  5.       <stop offset="50%" stop-color="#ffff00" />
  6.       <stop offset="100%" stop-color="#0000ff" />
  7.     </radialGradient>
  8.   </defs>
  9.   <rect width="100%" height="100%" fill="url(#explosion)" />
  10. </svg>
复制代码
4. 联合伪元素与变形动画

使用伪元素并联合CSS transform和animation属性,模拟“炸裂”的视觉结果。
  1. .burst-text {
  2.   position: relative;
  3.   display: inline-block;
  4. }
  5. .burst-text::before,
  6. .burst-text::after {
  7.   content: '';
  8.   position: absolute;
  9.   width: 100%;
  10.   height: 100%;
  11.   background: linear-gradient(to right, red, orange, yellow, green, blue);
  12.   opacity: 0.5;
  13.   
  14.   animation: burst 2s ease-in-out infinite alternate;
  15. }
  16. .burst-text::before {
  17.   transform-origin: top left;
  18.   animation-delay: -1s;
  19. }
  20. @keyframes burst {
  21.   0% {
  22.     transform: scale(1);
  23.   }
  24.   100% {
  25.     transform: scale(2);
  26.   }
  27. }
复制代码
5.不规则形状的渐变容器

联合CSS clip-path属性大概其他形状布局,使得渐变能够在不规则地域内出现。
CSS中的渐变和裁剪路径是两个独立但可以一起使用的特性,用来创建动态和有趣的视觉结果。
裁剪路径允许你裁剪元素的可视地域为任意形状,而非默认的矩形。CSS 中的 clip-path 属性可用于定义如许的裁剪地域。
1. 底子剪辑路径类型



  • 根本形状:如 inset() 用于创建矩形裁剪地域。
  1. div {
  2.   clip-path: inset(10px 20px 30px 40px); /* 上右下左的内切距离 */
  3. }
复制代码


  • URL引用SVG路径:更复杂的形状可以使用SVG <clipPath> 元素定义并通过URL引用。
  1. div {
  2.   clip-path: url(#myClipPath); /* '#myClipPath' 是 SVG 中定义的 clipPath ID */
  3. }
复制代码
2. 使用形状和路径的示例

例如,创建一个圆形裁剪路径:
  1. div {
  2.   clip-path: circle(50% at 50% 50%); /* 半径为50%,圆心在元素中心 */
  3. }
复制代码
大概,利用polygon()创建一个多边形裁剪地域:
  1. div {
  2.   clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); /* 此为矩形 */
  3.   /* 更复杂多边形示例 */
  4.   clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 50% 50%); /* 添加一个额外顶点形成五边形 */
  5. }
复制代码
当联合使用时,渐变和裁剪路径可以创造出非常丰富的视觉结果。例如,先给元素应用一个径向渐变配景,再使用一个自定义的裁剪路径来展示只有一部分渐变可见的设计:
  1. div {
  2.   background: radial-gradient(circle, red, yellow, green);
  3.   clip-path: polygon(0 0, 100% 0, 50% 100%, 0 100%);
  4. }
复制代码
如许,元素配景将会显示出一个经过裁剪的、具有径向渐变结果的部分。
6.颜色的选择与组合

使用互补色、对比色大概流行色彩搭配,使渐变动加吸引眼球。
这些示例展示了如何用CSS实现差异程度的“炸裂”渐变结果,可以根据实际需求举行调整和创新。
四、专业CSS渐变样式工具与网站

以下是一些专门为CSS渐变结果提供服务的网站,您可以在这类网站上浏览、创建和获取渐变色方案,并将其应用于您的项目:


  • WebGradients (https://webgradients.com/)

    • 提供了大量高质量的预设线性渐变配景,可以直接复制对应的CSS代码。

  • Grabient (https://www.grabient.com/)

    • 允许用户自定义线性渐变的颜色、角度和方向,及时预览并复制CSS样式代码。

  • CSS Gradient (https://cssgradient.io/)

    • 提供了一个简单的在线工具来创建和编辑渐变配景,包罗线性和径向渐变,并能生成相应的CSS代码。

  • uiGradients (https://uigradients.com/)

    • 展示了许多优美的渐变配景,并可以直接下载PNG图片或复制CSS样式。

  • Color Hunt (https://colorhunt.co/)

    • 虽然不是专门针对渐变的,但它包罗许多用户提交的调色板,可用于制作渐变结果。

  • Gradienta (https://gradienta.io/)

    • 提供超过100种精心设计的CSS渐变配景,可以作为CSS代码、SVG和JPG图像格式使用。

  • Color.oulu.me (http://color.oulu.me/)

    • 可以预览渐变结果、复制CSS代码以及下载渐变图片。

  • JINGWHALE ART 年度流行色 (https://www.jingwhale.com/aidesign/colors/palette.html)

    • 虽然不是专门针对渐变的,但它包罗JINGWHALE ART 年度流行色和许多着名设计体系、品牌等色彩调色板,可用于制作渐变结果。

这些网站可以资助设计师和开辟者快速生成美观的CSS渐变结果,简化工作流程,并提升项目的视觉吸引力。记得访问时确认网站是否仍在运营而且功能更新。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

王柳

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表