设为首页收藏本站
网站公告 | 这是第一条公告
     

 找回密码
 立即注册
缓存时间12 现在时间12 缓存数据 做人啊,最要紧的是开心 你饿不饿,我去给你煮碗面 其实我不想给你煮面我只是想见你一面

做人啊,最要紧的是开心 你饿不饿,我去给你煮碗面 其实我不想给你煮面我只是想见你一面 -- 问你是否跟我走

查看: 645|回复: 2

CSS3径向渐变radial-gradient实现波浪边框和内倒角的方法

[复制链接]

  离线 

TA的专栏

  • 打卡等级:热心大叔
  • 打卡总天数:232
  • 打卡月天数:0
  • 打卡总奖励:3550
  • 最近打卡:2025-04-08 16:28:38
等级头衔

等級:晓枫资讯-上等兵

在线时间
0 小时

积分成就
威望
0
贡献
442
主题
411
精华
0
金钱
4884
积分
913
注册时间
2023-1-4
最后登录
2025-4-8

发表于 2023-2-11 09:12:18 | 显示全部楼层 |阅读模式

前言

大佬给了一张优惠券图片(如下图),我一看,这波浪型的边框和内倒角用css写不出来吧,遂向大佬说明并要ui切图,大佬回答:css3可以实现。好吧,大佬都说可以实现了,还不赶紧去求谷哥,度娘。

101333mz9ndbx4940iyy9y.png

实现内倒角

上代码,然后解释代码

  1. <div class="radial-gradient"></div>
  2. <style>
  3. .radial-gradient {
  4. width: 200px;
  5. height: 100px;
  6. position: relative;
  7. background-image: radial-gradient(circle at right top, #fff, #fff 10px, transparent 11px),
  8. radial-gradient(circle at right bottom, #fff, #fff 10px, transparent 11px);
  9. background-color: red;
  10. }
  11. </style>
复制代码

.radial-gradient的样式不用解释,懂点css都知道。关键在于.radial-gradient:after样式。

重点解释radial-gradient(circle at right top, #fff, #fff 10px, transparent 11px)这个样式是干嘛的。

circle表示圆形渐变,说的简单点就是画一个圆。画圆就要知道原点。

circle at right top 中的right top就是原点位置。这里原点位置是相对于容器的坐标。right表示容器最右边,top表示容器最上边,换言之就是右上角。

circle at right top 后面的#fff, #fff 10px, transparent 11px就是从原点开始各种颜色渐变的长度。

代码#fff, #fff 10px, transparent 11px中第一个#fff表示原点处为#fff颜色,#fff 10px表示距离原点半径10px这段距离都是#fff颜色,transparent 11px表示距离原点10px到11px都是transparent颜色,由于没有设置其他颜色,所以距离原点11px以后都是transparent颜色。

101333yu7za505af93ata3.png

总结radial-gradient(circle at right top, #fff, #fff 10px, transparent 11px),就是以容器的右上角为原点画圆,半径10px范围内是#fff颜色,半径大于10px范围内都是transparent颜色。

这样在右上角就形成了内倒角

同理 radial-gradient(circle at right bottom, #fff, #fff 10px, transparent 11px); 就不解释了。

实现波浪边框

上代码,增加一个css样式即可

  1. <style>
  2. .radial-gradient:after {
  3. content: '';
  4. position: absolute;
  5. top: 0px;
  6. bottom: 0px;
  7. left: -5px;
  8. width: 10px;
  9. height: 100%;
  10. background: radial-gradient(circle, #fff, #fff 4px, transparent 5px);
  11. background-size: 10px 10px;
  12. }
  13. </style>
复制代码

background: radial-gradient(circle, #fff, #fff 4px, transparent 5px); 此处没有 at right top字样,表示原点在容器中心位置,#fff, #fff 4px, transparent 5px,表示半径4px范围内是#fff颜色,半径大于4px范围内都是transparent颜色。这样就有一个直径为8px的#fff颜色的圆位于容器(这里的容器是:after)中心。

101333go3qx9cc96guo0wz.png
(背景蓝色是为了演示效果)

再加上background-size: 10px 10px;设置背景大小为宽10px高10px,这样就能实现多个直径为8px的#fff颜色的圆。

101334ub4kr54v9r5ur6vi.png
(背景蓝色是为了演示效果)

left: -5px; 向左偏移 5px,使:after只有一半在.radial-gradient容器内

最后附上效果图

101334gb7s7snvkuww9oas.png

总结

实现内倒角其实是画一个#fff颜色的圆,圆只有四分之一在容器内 实现波浪边框其实是画多个#fff颜色的圆,圆只有一半在容器内

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持晓枫资讯。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
晓枫资讯-科技资讯社区-免责声明
免责声明:以上内容为本网站转自其它媒体,相关信息仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同其观点或证实其内容的真实性。
      1、注册用户在本社区发表、转载的任何作品仅代表其个人观点,不代表本社区认同其观点。
      2、管理员及版主有权在不事先通知或不经作者准许的情况下删除其在本社区所发表的文章。
      3、本社区的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,举报反馈:点击这里给我发消息进行删除处理。
      4、本社区一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
      5、以上声明内容的最终解释权归《晓枫资讯-科技资讯社区》所有。
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~

  离线 

TA的专栏

等级头衔

等級:晓枫资讯-列兵

在线时间
0 小时

积分成就
威望
0
贡献
0
主题
0
精华
0
金钱
17
积分
14
注册时间
2022-12-24
最后登录
2022-12-24

发表于 2024-7-2 20:13:55 | 显示全部楼层
顶顶更健康!!!
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~

  离线 

TA的专栏

  • 打卡等级:即来则安
  • 打卡总天数:28
  • 打卡月天数:0
  • 打卡总奖励:324
  • 最近打卡:2025-06-25 22:39:53
等级头衔

等級:晓枫资讯-列兵

在线时间
0 小时

积分成就
威望
0
贡献
0
主题
0
精华
0
金钱
373
积分
58
注册时间
2023-3-6
最后登录
2025-6-25

发表于 7 天前 | 显示全部楼层
路过,支持一下
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~
严禁发布广告,淫秽、色情、赌博、暴力、凶杀、恐怖、间谍及其他违反国家法律法规的内容。!晓枫资讯-社区
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1楼
2楼
3楼

手机版|晓枫资讯--科技资讯社区 本站已运行

CopyRight © 2022-2025 晓枫资讯--科技资讯社区 ( BBS.yzwlo.com ) . All Rights Reserved .

晓枫资讯--科技资讯社区

本站内容由用户自主分享和转载自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

如有侵权、违反国家法律政策行为,请联系我们,我们会第一时间及时清除和处理! 举报反馈邮箱:点击这里给我发消息

Powered by Discuz! X3.5

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