css3优惠卷上方锯齿_CSS不规则卡片,纯CSS制作优惠券样式,CSS实现锯齿样式

本文详细介绍了如何使用CSS实现不规则优惠券的样式,包括上方的锯齿效果和下方的凹槽,通过径向渐变和伪元素技巧。同时,文章还探讨了如何利用CSS变量来自定义主题颜色,使得优惠券样式更具灵活性。
摘要由CSDN通过智能技术生成

CSS不规则卡片,纯CSS制作优惠券样式,CSSS实现锯齿样式

之前也有写过 CSS 优惠券样式《CSS3径向渐变实现优惠券波浪造型》,这次再来温习一遍,并且将更为详细的讲解,从布局到具体样式说明,最后定义 CSS 变量,自定义主题颜色。

布局

布局 其实是学习前端的重要部分,最常用的方式就是从上而下、从左而右、亦或者两个相结合。

看上图,而这里,我们就只是最简单的布局方式,从上而下:

1、优惠券金额和过期时间

2、优惠券描述

3、按钮(其实按钮也可以放到“2”里面去)

这样分析,我们就有了 html 架构了

class=“coupon”>

100元 优惠券span>

2020-12-31 18:18:18过期p> div>

1、商城、美食可用p>

2、过期作废p> div>

立即使用button> div> div>

CSS不规则卡片,纯CSS制作优惠券样式,CSSS实现锯齿样式

CSS修饰

接下来我们用 CSS 美化我们的 html 。同理,我们也根据布局分步进行样式书写。

1、优惠券金额和过期时间样式

这里的核心就是上方的凹槽和下方的锯齿

.coupon{

background-color: #E0E0E0;

width: 200px;

/* css变量 */

--main-color: #EC407A;

--f-color: #444;

}

.price {

position: relative;

height: 120px;

background-image: radial-gradient(

circle at 100px -8px, #fff 20px, var(--main-color) 21px

);

color: #fff;

font-size: 20px;

text-align: center;

padding-top: 40px;

}

.price .timeout{

color: var(--f-color);

font-size: 14px;

margin-top: 25px;

}

.price span{

font-size: 14px;

}

CSS不规则卡片,纯CSS制作优惠券样式,CSSS实现锯齿样式

这里用到了 径向渐变,不清楚用法的小伙伴可以看看语法:

background-image: radial-gradient(shape size at position, start-color, …, last-color);

注释:

(1)、shape 确定圆的类型:

ellipse (默认): 指定椭圆形的径向渐变。

circle :指定圆形的径向渐变

(2)、size 定义渐变的大小,可能值:

farthest-corner (默认) : 指定径向渐变的半径长度为从圆心到离圆心最远的角

closest-side :指定径向渐变的半径长度为从圆心到离圆心最近的边

closest-corner : 指定径向渐变的半径长度为从圆心到离圆心最近的角

farthest-side :指定径向渐变的半径长度为从圆心到离圆心最远的边

(3)、position 定义渐变的位置。可能值:

center(默认):设置中间为径向渐变圆心的纵坐标值。

top:设置顶部为径向渐变圆心的纵坐标值。

bottom:设置底部为径向渐变圆心的纵坐标值。

(4)、start-color, …, last-color 用于指定渐变的起止颜色。

这样价格上方的凹槽就有了,接下来下方的锯齿我们也可以用 径向渐变 的方式实现:

.price::after{

position: absolute;

content: \'\';

display: block;

bottom: 0px;

height: 10px;

width: 100%;

/* background-size: 11px 200px; */

background-image:

radial-gradient(

circle at 5px 10px,

#E0E0E0 6px,

var(--main-color) 7px);

}

伪类元素 ::after 设置径向渐变背景为一个圆,后进行平铺就形成了锯齿,调整位置。

CSS不规则卡片,纯CSS制作优惠券样式,CSSS实现锯齿样式

其实还有更简单的方法,可以直接用一个虚线边框即可搞定,请看:

.price::after{

position: absolute;

content: \'\';

display: block;

bottom: -5px;

width: 100%;

border-bottom: 10px dotted #E0E0E0;

}

CSS不规则卡片,纯CSS制作优惠券样式,CSSS实现锯齿样式

当然也有缺陷,间隔位置不好控制

2、优惠券描述与按钮 优惠券核心锯齿已经搞定了,下面都是小菜啦,非常简单咯

.describe{

color: #333;

padding: 10px;

font-size: 14px;

}

.btns {

/* 使其button可以居中 */

text-align: center;

}

.btns button{

/* 重置按钮样式 */

border: none;

box-shadow: none;

outline: none;

background-color: var(--main-color);

color: #fff;

width: 50%;

border-radius: 20px;

line-height: 30px;

margin: 40px 0 20px;

cursor: pointer;

}

CSS不规则卡片,纯CSS制作优惠券样式,CSSS实现锯齿样式

主题颜色

大家都看到了,我们上方代码主要颜色都采用的变量,而且变量是定义在 .coupon 类选择器里面的。这样的原因是:

1、CSS变量作用域(CSS变量只能作用于自身以及后代元素。兄弟元素,祖先元素都不能享用。)

2、方便主题使用

ok,我们就可以copy 多个 优惠券,并给每个添加一个不同的 class,比如下方的 theme1、theme2、theme3

class=“coupon theme1”> …

class=“coupon theme2”> …

class=“coupon theme3”> …

class=“coupon”> …

接下来我们就为不同主题定义不同的颜色变量

.coupon.theme1{

--main-color: #8E24AA;

--f-color: #fff;

}

.coupon.theme2{

--main-color: #039BE5;

--f-color: #fff;

}

.coupon.theme3{

--main-color: #26A69A;

--f-color: #fff;

}

这样,theme1主题下的优惠券,就是紫色主题,theme2主题下的优惠券,就是蓝色主题…,而默认主题颜色就是我们 .coupon 类选择器里面的定义的变量颜色(红色)。

小结

今天你学到了吗?从布局分析到具体实现,再到主题颜色,相信小伙伴们都各有所得。

声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。导航:艺宵博客 » CSS不规则卡片,纯CSS制作优惠券样式,CSS实现锯齿样式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值