CSS3_03:各种卡券优惠券模板制作,开箱即用,学得会,用得着

news2024/11/25 23:25:53

本文首发于微信公众号:布依前端
微信号:qny-1009
转载请注明出处
原创不易,觉得有用的话,多转发点赞支持

        作为前端开发者,经常碰到不规则元素需求,尤其是购物类的优惠券,元素长相怪异,没有接触过就会犯懵,见多识广,会者不难。安利一波这类效果制详细过程,下列所有案例的径向渐变和线性渐变属性都是可以自行调试的,包括遮罩位置和遮罩元素大小,案例中遮罩圆的大小可以通过渐变参数调节的。

       想到CSS不规则图形,想到径向渐变遮罩能实现,先看看最终实现的整体效果。文章篇幅有点长,耐心看完,收获慢慢。

图解:图中 1 和 2 优惠券效果是单独径向渐变组合的效果,其余都是CSS蒙版mask实现的。

新建一个HTML文件,把通用样式和页面结构复制粘贴到文件内部,用浏览器打开可以查看效果。

通用样式,其余样式逐渐往下添加,每个优惠券可能样式不一样。

* {
  padding: 0;
  margin: 0;
}
:root {
  --bgt--: #46C2CB;
}
body {
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  min-height: 100vh;
  flex-wrap: wrap;
}
ul {
  display: flex;
  flex-wrap: wrap;
}
li {
  width: 300px;
  height: 150px;
  font-size: 20px;
  font-family: sans-serif;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 15px 20px;
  color: #fff;
}

页面结构

<ul>
  <li class="rectangle">
    <span>css高级&nbsp;&nbsp;</span>
    <span>999.00 </span>
  </li>
  <li class="rectangle2"> 
    <span>css基础&nbsp;&nbsp;</span>
    <span>255.00 </span> 
  </li>
  <li class="rectangle3">
    <span>JavaScript&nbsp;&nbsp;</span>
    <span>207.00</span>
  </li>
  <li class="rectangle4">
    <span>HTML&nbsp;&nbsp;</span>
    <span>347.00</span>
  </li>
  <li class="rectangle5">
    <span>Vuejs&nbsp;&nbsp;</span>
    <span>247.00</span>
  </li>
  <li class="rectangle6">
    <span>函数编程&nbsp;&nbsp;</span>
    <span>247.00</span>
    </li>
</ul>

图一制作

原理:利用背景图属性的大小,位置和默认平铺元素实现,背景用径向渐变(默认透明,大小自定义)完成,利用背景属性size和position调整平铺元素之间的间距和位置,就能形成抠图效果,这种方式缺点是无法实现背景渐变效果。

background-size: x y;x表示调整背景元素水平方向间距,y表示调整元素垂直方向的间距。

background-position: x y;x表示背景元素水平方向位置,y表示背景元素垂直方向位置。

.rectangle {
    background: radial-gradient(circle, 
    transparent 0, 
    transparent 5px, 
    #E94560 6px);
    background-size: 301px 19px;
    background-position: -151px -3px;
    position: relative;
}

调整过程如图所示

效果如下

利用伪类元素添加虚线。

.rectangle::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 20px;
    width: 10%;
    height: 100%;
    border-right: 2px dashed #fff;
    z-index: 1;
    background-color: transparent;
}

完成后效果展示

图四制作

原理:利用css的蒙版mask属性来遮罩,蒙版的参数属性和背景参数相似,也有size和position属性,作用和背景图的一致,效果演示查看图一制作过程,这种方式可以设置渐变背景效果,增加样式。

.rectangle4 {  -webkit-mask: radial-gradient(circle at 20px 20px,   transparent 20px,   tomato 0px);        -webkit-mask-position: -25px 52px;        -webkit-mask-size: 104% 97%;  background: linear-gradient(90deg, #FF057C 0%,   #8D0B93 50%, #321575 100%);}

得到效果是这样的,裁剪同时具备渐变效果。

图二制作

图二利用径向渐变四个拼接而成,每个径向渐变占四分之一,每个径向渐变部分位置分别为左上角,右上角,左下角和右下角。这种方式缺点:无法设置元素渐变效果。如果要用渐变可以用图一或者图四代码。

.rectangle2 {    background:     radial-gradient(circle at top left,     transparent 20px, var(--bgt--) 0) top left / 50% 101px no-repeat,    radial-gradient(circle at top right,     transparent 20px, var(--bgt--) 0) top right / 50% 101px no-repeat,    radial-gradient(circle at bottom left,     transparent 20px, var(--bgt--) 0) bottom left / 50% 101px no-repeat,    radial-gradient(circle at bottom right,     transparent 20px, var(--bgt--) 0) bottom right / 50% 101px no-repeat; }

图三制作

图三利用蒙版mask和图一或者图四相似,这里是两个蒙版渐变属性整合,同时能实现渐变背景效果。

注意:如果需要多个径向渐变效果,那么可以简写单个径向渐变属性,多个用都号隔开。反之,可以单独设置径向渐变效果属性,如下注释部分的代码。

.rectangle3 {    -webkit-mask: radial-gradient(circle at 20%,     tomato 5px, transparent 0px) 50% / 120% 20px,             radial-gradient(circle at 20px 20px,             transparent 20px, tomato 0px) -21px -17px / 50%;    -webkit-mask-composite: destination-out;    /*-webkit-mask-position: -86px -81px;    -webkit-mask-size: 47% 91%;*/    background: linear-gradient(90deg, #00337C, #1C82AD);}

图六制作

图六利用径向渐变做背景裁剪,线性渐变做背景色分离效果,设置渐变颜色占比就能实现颜色分离,不会产生渐变效果。

.rectangle6 {    -webkit-mask: radial-gradient(circle at 10px 10px,     transparent 10px, tomato 0px);    -webkit-mask-position: 9px 105px;    -webkit-mask-size: 110% 18%;     -webkit-mask-origin: padding-box;    background: linear-gradient(90deg, #5BC0F8 50%, #0081C9 20%);}

总结:mask遮罩抠图是利用背景图默认平铺效果,可以调节背景图重复元素的间距和位置实现抠图效果,可以实现渐变背景效果。而图二中的背景径向渐变是拼图原理,利用四个角来拼接抠图。实现优惠券效果的方式目前分享这两种,后期有用到的在分享出来。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/649995.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

looks调色插件 Red Giant Magic Bullet Looks for Mac

Magic Bullet Looks for Mac版是一款looks调色插件&#xff0c;提供强大的外观和色彩校正功能&#xff0c;无论是对初学者还是影视专业制作人员&#xff0c;从冷酷惊艳的的动作场面到红色&#xff0c;暖色的浪漫色调&#xff0c;都可以帮助快速的完成&#xff0c;满足用户的所有…

LabVIEW开发基于Web数字图像处理

LabVIEW开发基于Web数字图像处理 数字图像处理已在各个领域找到了应用&#xff0c;并已成为一个高度活跃的研究领域。实际实施和实验在教育和研究活动中起着不可或缺的作用。为了方便快捷地实施数字图像处理操作&#xff0c;设计了一个先进的基于Web的数字图像处理虚拟实验室&…

vue3中引入tailwingcss

1、安装依赖 cnpm i -D tailwindcss postcss autoprefixer 2、安装完成后&#xff0c;创建tailwind.config.js 和 postcss.config.js配置文件&#xff0c;继续再控制台输入命令如下&#xff1a; npx tailwindcss init -P 3、修改tailwind.config.js content: ["./ind…

<Linux> 进程

文章目录 进程基本概念描述进程-PCBtask_struct-PCB的一种task_ struct内容分类 组织进程查看进程通过系统调用获取进程标示符fork创建子进程进程状态操作系统原理进程状态linux进程状态 优先级基本概念查看系统进程PRI and NI查看进程优先级的命令其他概念 环境变量基本概念常…

又双叒反转?美国院士复现室温超导!

室温超导又双叒反转&#xff1f; 没错&#xff0c;就是今年3月差点掀翻物理界的“21℃室温超导新材料”成果&#xff0c;来自美国罗彻斯特大学Ranga Dias团队。 尽管存在置疑&#xff0c;目前原论文仍然在《自然》期刊上可以查阅、并没有撤稿。 当时国内外很多团队都立刻尝试复…

程序员常用速查表总览

程序员常用速查表总览 文章目录 程序员常用速查表总览linux命令速查表vim命令速查表git命令速查表c知识速查表matplotlib 速查表数据科学方面的速查表-机器学习、概率论等 在使用linux、vims时命令老是忘记&#xff0c;在网上一番翻找&#xff0c;总结了一下文章&#xff0c;特…

如何使用 Python 自动购买 Interpark 演唱会门票 ?

前言 大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 Interpark是韩国的一家知名网上购物网站&#xff0c;成立于1996年。 它是韩国最早开展网上零售业务的公司之一&#xff0c;提供各种产品&#xff0c;包括各种书籍、电子产品、珠宝、户外用品、食品和服装等等。 Interpark还…

String类(Java)

文章目录 1. 介绍2. 分析3. 方法3.1 String()方法3.2 equal()方法3.3 compareTo()方法3.4 contains()方法3.5 toCharArray()方法3.6 trim()方法3.7 valueOf()方法 1. 介绍 A. 类介绍&#xff1a;   Java将字符串看作对象(不同于c语言, c语言直接使用字符数组来表示字符串)&…

新型的类型转换

C 方式的强制类型转换 (Type)Expression Type(Expression) C 方式强制类型转换存在的问题 过于粗暴 任意类型之间都可以进行转换&#xff0c;编译器很难判断其正确性 难于定位 在源码中无法快速定位所有使用强制类型转换的语句 问题 强制类型转换在实际工程中是很难完全…

炫龙笔记本毁灭者dc更换CPU记录

文章目录 前言一、确认cpu和主板芯片型号二、搜索可更换的cpu三 、拆机更换cpu四 、蜿蜒曲折的咨询之路总结 前言 本来只想给老笔记本换个512g固态&#xff0c;原先的128g太小了&#xff0c;原装的是一个128g sata接口固态 发现我这台炫龙毁灭者dc居然还能换cpu&#xff0c;除…

回归预测 | MATLAB实现KNN(K近邻)多输入单输出回归预测

回归预测 | MATLAB实现KNN(K近邻)多输入单输出回归预测 目录 回归预测 | MATLAB实现KNN(K近邻)多输入单输出回归预测效果一览基本介绍模型回归程序设计学习总结参考资料效果一览

技术旋风!快速采集建模装备、重建大师6.1版、大面积实景三维轻量化技术...

6月20日 14:30 大势智慧 海量数据轻量化技术与新品夏季发布会 新产品&#xff1a;大势速影&#xff0c;让实景三维建模“快”人一步 实景三维模型应用广度和深度日益扩大&#xff0c;传统测绘技术体系和生产体系正经历数字化变革。 传统激光点云数据量大、空间点离散、缺少…

Video-LLaMA 开源,大语言模型也能读懂视频了!

出品人&#xff1a;Towhee 技术团队 作者&#xff1a;张晨 架构 Video-LLaMA 旨在使冻结的 LLM 能够理解视频中的视觉和听觉内容。如图所示&#xff0c;本文设计了两个分支&#xff0c;即视觉语言分支和音频语言分支&#xff0c;分别将视频帧和音频信号转换为与 LLM 的文本输入…

首次使用云服务器搭建网站(一)

这是本人第一次使用云服务器搭建网站。 一、挑选云服务器 1、我此次使用的是腾讯云赠送的免费云服务器。 2、购买后&#xff0c;进入腾讯云总控制台。 3、点击云服务、云服务器、实例&#xff0c;进入云服务器的实例界面 4、大致就能看到这样一个界面 二、重装系统 腾讯云允许系…

医生出国访学有哪些好处?

医生出国访学有许多好处。在国外访学可以提供医生们与世界上其他国家的医学专家进行交流和合作的机会&#xff0c;从而拓宽他们的学术视野。下面是知识人网小编整理的一些出国访学的好处&#xff1a; 1. 学术交流&#xff1a;出国访学可以让医生们接触到不同国家的医学领域的最…

技术干货|如何解决工业缺陷检测小样本问题?

原创 | 文 BFT机器人 在工业生产制造中&#xff0c;由于生产过程是一个多因素耦合的复杂过程&#xff0c;生产过程中的任何异常都会导致产品缺陷产生&#xff0c;及时识别异常产品的缺陷模式是提高生产质量和生产效率的有效途径&#xff0c;所以缺陷检测具有十分重要的研究意义…

备份手机、电脑微信聊天记录并恢复

文章目录 前言一、手机聊天记录备份至电脑&#xff0c;再恢复1、在电脑新建一个文件夹保存备份文件2、按照下图操作3、最后备份文件大小4、恢复至手机 二、手机聊天记录同步至电脑1、在手机点击【我】--【设置】--【聊天】--【聊天记录迁移与备份】-【迁移】 总结 前言 最近需…

灰度图像点运算之线性变换

目录 note code test note // g(x,y) a * f(x,y) b code void line_convert_fun(uchar& in, uchar& out) {out -1 * in 255; } void img_line_convert(Mat& src, Mat& res) {if (src.empty()) {printf("src empty\n");return;}int src_rows…

【H5】移动端,常见界面布局模板

系列文章 【移动设备】iData 50P 技术规格 本文链接&#xff1a;https://blog.csdn.net/youcheng_ge/article/details/130604517 【H5】avalon前端数据双向绑定 本文链接&#xff1a;https://blog.csdn.net/youcheng_ge/article/details/131067187 【H5】安卓自动更新方案&a…

数据库入门上篇(数据库基础概念知识)

在这篇文章里&#xff0c;笔者将简单介绍数据库的起源和发展&#xff0c;数据库的分类&#xff0c;读完这篇文章&#xff0c;大家就对数据库有一个大概了解&#xff0c;也就是知道我们该学什么样的东西 为什么需要数据库 在如今的信息时代&#xff0c;各行各业每天都会产生大量…