CSS【详解】渐变(含线性渐变 linear-gradient(),径向渐变 radial-gradient(),锥形渐变 conic-gradient(),重复渐变)

线性渐变 linear-gradient()

/* 【默认方向】从上到下 */
linear-gradient(white, skyblue);
/* 使用关键字to表示渐变方向【常用】 */
linear-gradient(to right, white, skyblue);
linear-gradient(to right bottom, white, skyblue);
/* 使用角度值表示渐变方向 */
linear-gradient(45deg, white, skyblue);
linear-gradient(.25turn, white, skyblue);

角度值:垂直方向为 0deg,顺时针旋转,45deg 的渐变方向是从左下角到右上角

渐变分界线

  • 颜色值在前,分界线位置在后
linear-gradient(white, skyblue 50%);
  • 未指定分界线位置,则颜色等分
linear-gradient(red, orange, yellow, green);
/* 等同于 */
linear-gradient(red 0%, orange 33.33%, yellow 66.66%, green 100%);
  • 分界线位置可以是负数,也可以大于100%。

如果不是高清显示器,则在Chrome浏览器中,不同颜色位于同一断点位置的时候,两个颜色连接处可能会有明显的锯齿。

优化方案:在颜色连接处留1px的过渡区间,优化视觉表现

linear-gradient(30deg, red 50%, skyblue calc(50% + 1px));

颜色转换点

linear-gradient(white, 70%, skyblue);

表示白色和天蓝色渐变的中心转换点位置在70%,可以用来模拟更符合真实世界的立体效果(IE暂不支持)

【实战】绘制占位图

https://blog.csdn.net/weixin_41192489/article/details/120570358

径向渐变 radial-gradient()

 background-image: radial-gradient(white, deepskyblue);

渐变半径

radial-gradient(50px 50%, white, deepskyblue); /* 水平半径为50px 垂直半径为50% */
radial-gradient(50px, white, deepskyblue); /* 水平半径和垂直半径都是50px */

水平半径和垂直半径合写的时候,只能是长度值,不能是百分比值

radial-gradient(50% 50%, white, deepskyblue);  /* 使用百分比值,就必须给出两个值 */

渐变中心点

渐变中心点在左上角

radial-gradient(100px at 0 0, white, deepskyblue);
radial-gradient(100px at left top, white, deepskyblue);

渐变的中心点在距离右边缘和下边缘100px的位置

radial-gradient(100px at right 100px bottom 100px, white, deepskyblue);

渐变终止点

关键字

描述

closest-side

渐变中心距离容器最近的边作为终止位置

closest-corner

渐变中心距离容器最近的角作为终止位置

farthest-side

渐变中心距离容器最远的边作为终止位置

farthest-corner

默认值。渐变中心距离容器最远的角作为终止位置

radial-gradient(farthest-corner circle at right 100px bottom 100px, white, deepskyblue);
  • 关键字ellipse——椭圆【默认】

  • 关键字circle——圆

如果只有1个值,或者出现了circle关键字,后面的值只能是长度值,不能是百分比值

  • at position的位置是固定的,其一定是在半径值的后面、渐变断点的前面

【实战】高光按钮,炫彩按钮,点击按钮–圆形扩散,波形效果–优惠劵

https://blog.csdn.net/weixin_41192489/article/details/120646819

锥形渐变 conic-gradient()

https://blog.csdn.net/weixin_41192489/article/details/120653372

重复渐变

repeating-linear-gradient(transparent, deepskyblue 40px);
repeating-radial-gradient(transparent, deepskyblue 40px);
repeating-conic-gradient(transparent, deepskyblue 40deg);

起止颜色位置需要明确定义

【实战】条纹边框

.stripe-border {
    width: 150px; height: 200px;
    border: 20px solid;
    border-image: repeating-linear-gradient(135deg, deepskyblue 0 6px, white 7px 12px) 20;
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

朝阳39

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值