css渐变属性

主要有三种属性

  • 线性渐变
  • 径向渐变
  • 锥形渐变

线性渐变

background-image: linear-gradient(方向, 色值1 色值区间, 色值2 色值区间, ...色值n 色值区间);

  • 渐变方向:

一种是利用方位名词 to right to left to top to left top等等

另一种是利用角度(推荐)这种更为精确

角度原则:想象成一个圆,从圆心向外延半径方向有个小箭头,也就是指向渐变方向,箭头指向上为0deg,以后顺时针为正,逆时针为负(当然,只用证书转一圈也是可以的,甚至大于360都是无所谓的)

css 复制代码
.box {
    height: 300px;
    width: 300px;
    background: linear-gradient(720deg, red 50px, blue 70px);
  }

//色值区间以这个例子来说,这里50px之前都是红色,50px到70px是渐变区间,70px之后都是蓝色

径向渐变

  • 就是从圆心开始向四周扩散

background-image: radial-gradient(渐变形状 圆心位置, 色值1 色值区间, 色值2 色值区间, ...色值n 色值区间);

渐变形状有两个关键字

  • circle 正圆
  • ellipse 椭圆

另外也可以用横坐标和纵坐标的半径

  • 正圆 50px 50px
  • 椭圆 150px 50px

圆心位置可以用方位名词和坐标

例如:at left top 或者 at 80px 160px

css 复制代码
.box {
    height: 300px;
    width: 300px;
    background: radial-gradient(50px 100px, red 20px, blue 200px);
}s

锥形渐变

沿着一个圆的半径的切向渐变

background-image: conic-gradient(从哪个角度开始渐变 轴心, 色值1 色值区间, 色值2 色值区间, ..., 色值n 色值区间);

要注意这里的色值区间是以deg为单位的

  • 从哪个角度开始渐变

角度于线性渐变角度一样,都是从正上方为0deg

要利用from关键字,比如from 90deg

  • 轴心

类似于这个图,里面的(x0, y0)坐标就是轴心

例子

css 复制代码
.box {
    height: 300px;
    width: 300px;
    border-radius: 150px;
    background-image: conic-gradient(from 90deg, green 20deg, yellow 30deg, red 180deg);
  }
相关推荐
foxhuli22932 分钟前
禁止ifrmare标签上的文件,实现自动下载功能,并且隐藏工具栏
前端
青皮桔1 小时前
CSS实现百分比水柱图
前端·css
影子信息1 小时前
vue 前端动态导入文件 import.meta.glob
前端·javascript·vue.js
青阳流月1 小时前
1.vue权衡的艺术
前端·vue.js·开源
样子20181 小时前
Vue3 之dialog弹框简单制作
前端·javascript·vue.js·前端框架·ecmascript
kevin_水滴石穿1 小时前
Vue 中报错 TypeError: crypto$2.getRandomValues is not a function
前端·javascript·vue.js
孤水寒月2 小时前
给自己网站增加一个免费的AI助手,纯HTML
前端·人工智能·html
CoderLiu2 小时前
用这个MCP,只给大模型一个figma链接就能直接导出图片,还能自动压缩上传?
前端·llm·mcp
伍哥的传说2 小时前
鸿蒙系统(HarmonyOS)应用开发之实现电子签名效果
开发语言·前端·华为·harmonyos·鸿蒙·鸿蒙系统
海的诗篇_3 小时前
前端开发面试题总结-原生小程序部分
前端·javascript·面试·小程序·vue·html