广告
返回顶部
首页 > 资讯 > 精选 >怎么在CSS中利用radial-gradient 实现一个优惠券样式
  • 118
分享到

怎么在CSS中利用radial-gradient 实现一个优惠券样式

2023-06-08 05:06:34 118人浏览 八月长安
摘要

怎么在CSS中利用radial-gradient 实现一个优惠券样式?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。绘制基本样式<div clas

怎么在CSS中利用radial-gradient 实现一个优惠券样式?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

绘制基本样式

<div class="voucher">  <div class="left"></div>  <div class="right">满 100 减 30</div></div>.voucher {  width: 600px;  height: 200px;  display: flex;  .left {    width: 30%;    height: 100%;    background-color: #f76260;  }  .right {    height: 100%;    border: 1px solid #DDD;    flex: 1;    display: flex;    align-items: center;    justify-content: center;    font-size: 40px;  }}

锯齿实现剖析

锯齿部分其实可以看成是十个如下所示的图像片段拼接起来的。每个片段的宽为锯齿的半径 6px,高为 20px。所以我们只需要画出该片段,剩下的重复填充就好了。

怎么在CSS中利用radial-gradient 实现一个优惠券样式 
 

我们把锯齿的样式加在 voucher 的伪元素上面就大功告成了:

&::before {  content: '';  position: absolute;  height: 100%;  width: 6px;  left: 0;  top: 0;  background-image: radial-gradient(circle at 0px 10px, white 6px, #f76260 6px);  background-size: 6px 20px;}

这里的核心代码是 background-image: radial-gradient(circle at 0px 10px, white 6px, #f76260 6px); 。它其实是下面这种写法的简写方式: background-image: radial-gradient(circle at 0px 10px, white 0, white 6px, #f76260 6px, #676260 100%); ,表示从 (0px, 10px) 的位置开始进行径向渐变,渐变的形状为圆形,从 0 到 6px 由 white 渐变成 white ,也就是纯色; 6px 到图形边缘由 #f76260 渐变成 #f76260 ,也是纯色。

为了重用我们的锯齿样式代码,我们可以定义一个 scss 的 mixin:

@mixin leftSawtooth($height, $num, $radius, $color, $bGColor) {  $segmentHeight: $height / $num;  height: $height;  &::before {    content: '';    position: absolute;    height: 100%;    width: $radius;    left: 0;    top: 0;    background-image:      radial-gradient(circle at 0px $segmentHeight / 2, $bgColor $radius, $color $radius);    background-size: $radius $segmentHeight;  }}

这样,用起来就很方便了:

@include leftSawtooth(600px, 10, 6px, #f76260, white);

怎么在CSS中利用radial-gradient 实现一个优惠券样式 

升级版

升级版的锯齿颜色和左边部分的背景颜色不一致,实现上会有些差异,不过思路还是一致的。

首先还是绘制出基本的样式:

.voucher {  width: 600px;  height: 200px;  margin: 20px auto;  display: flex;  position: relative;  border: 1px solid #ddd;  .left {    width: 30%;    height: 100%;    border-right: 1px dashed #ddd;  }  .right {    height: 100%;    flex: 1;    display: flex;    align-items: center;    justify-content: center;    font-size: 40px;  }}

然后,绘制锯齿部分。注意,这里圆的半径是空白部分5px加上1px的边框,所以背景片段绘制需要额外加一段渐变:

background-image: radial-gradient(circle at 0px 10px,  white 5px,   #ddd 5px,  #ddd 6px,  transparent 6px );

注意到我们把圆内的颜色设置为背景色,圆外的颜色设置为透明色,为什么要这样后面会有说明。现在的效果离目标已经越来越近了,不过还是有点出入:

怎么在CSS中利用radial-gradient 实现一个优惠券样式 
 

解决办法是把伪元素往左移动一个边框大小的位置。这样半圆左边的线会被圆内的颜色覆盖,而其他地方因为是透明色,所以线会保留(这就是为什么要把圆内的颜色设置为背景色,圆外的颜色设置为透明色的原因了)。

完整的 mixin 如下所示:

@mixin leftSawtoothBorder($height, $num, $radius, $bgColor, $borderColor, $borderWidth) {  $segmentHeight: $height / $num;  $extendedRadius: $radius + $borderWidth;  height: $height;  &::before {    content: '';    position: absolute;    height: 100%;    width: $extendedRadius;    left: -$borderWidth;    top: 0;    background-image: radial-gradient(circle at 0px $segmentHeight / 2,      $bgColor $radius,      $borderColor $radius,      $borderColor $extendedRadius,      transparent $extendedRadius    );    background-size: $extendedRadius $segmentHeight;  }}

css的基本语法是什么

css的基本语法是:1、css规则由选择器和一条或多条声明两个部分构成;2、选择器通常是需要改变样式的html元素;3、每条声明由一个属性和一个值组成;4、属性和属性值被冒号分隔开。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网精选频道,感谢您对编程网的支持。

--结束END--

本文标题: 怎么在CSS中利用radial-gradient 实现一个优惠券样式

本文链接: https://www.lsjlt.com/news/252025.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么在CSS中利用radial-gradient 实现一个优惠券样式
    怎么在CSS中利用radial-gradient 实现一个优惠券样式?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。绘制基本样式<div clas...
    99+
    2023-06-08
  • css中怎么实现一个圆角样式
    这篇文章给大家介绍css中怎么实现一个圆角样式,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。代码如下:#boxes div { border: 2px solid black; pad...
    99+
    2022-10-19
  • 怎么在CSS中利用Houdini实现一个动态波浪纹效果
    怎么在CSS中利用Houdini实现一个动态波浪纹效果?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。css是什么意思css是一种用来表现HTML或XML等文件样式的计算机语...
    99+
    2023-06-08
  • 怎么在Android应用中利用ListView实现一个选择模式
    怎么在Android应用中利用ListView实现一个选择模式?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。ListView 定义了choiceMode属性,描述是这样的:用于...
    99+
    2023-05-31
    android roi listview
  • 怎么在python中利用merge实现一个堆
    怎么在python中利用merge实现一个堆?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。python有哪些常用库python常用的库:1.requesuts;...
    99+
    2023-06-14
  • 怎么在java中利用Runnable实现一个线程
    怎么在java中利用Runnable实现一个线程?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Java是什么Java是一门面向对象编程语言,可以编写桌面应用程序、Web应用...
    99+
    2023-06-14
  • 怎么在java中利用ParameterizedType实现一个泛型
    本篇文章给大家分享的是有关怎么在java中利用ParameterizedType实现一个泛型,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Java有哪些集合类Java中的集合主...
    99+
    2023-06-14
  • 怎么在JavaScript中利用audioContext实现一个3D音效
    怎么在JavaScript中利用audioContext实现一个3D音效?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。JavaScript的特点1.JavaScript主要...
    99+
    2023-06-14
  • 怎么在java中利用Semaphore实现一个限流器
    怎么在java中利用Semaphore实现一个限流器?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Java可以用来干什么Java主要应用于:1. web开发;2...
    99+
    2023-06-14
  • 怎么在Android中利用Activity实现一个监听器
    怎么在Android中利用Activity实现一个监听器?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Activity在Activity中,使用findViewById(int...
    99+
    2023-06-14
  • android应用中怎么利用onLayout()实现一个流式布局
    这期内容当中小编将会给大家带来有关android应用中怎么利用onLayout()实现一个流式布局,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。在onLayout方法中有四个参数,我画了一个简单的图来分清...
    99+
    2023-05-31
    android roi onlayout()
  • 怎么在SpringBoot中利用WebSocket实现一个群聊功能
    本篇文章为大家展示了怎么在SpringBoot中利用WebSocket实现一个群聊功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。消息群发创建新项目:添加依赖:<dependency>...
    99+
    2023-06-06
  • 怎么在python中利用add实现一个重载加法
    怎么在python中利用add实现一个重载加法?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学研究;...
    99+
    2023-06-14
  • 怎么在android中利用ProgressDialog实现一个全屏效果
    怎么在android中利用ProgressDialog实现一个全屏效果?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。ProgressDialog的创建方式有两种,一种是ne...
    99+
    2023-05-30
  • 怎么在android中利用ProgressDialog实现一个加载效果
    怎么在android中利用ProgressDialog实现一个加载效果?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。先自定义一个类继承ProgressDialogpubli...
    99+
    2023-05-31
    android progressdialog gr
  • 怎么在ython中利用dict实现一个魔法方法
    怎么在ython中利用dict实现一个魔法方法?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。python可以做什么Python是一种编程语言,内置了许多有效的工具,Pyth...
    99+
    2023-06-14
  • 怎么在Java中利用TreeMap实现一个排序算法
    怎么在Java中利用TreeMap实现一个排序算法?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。TreeMap 和 HashMap 用法大致相同,但实际需求中,我们需要把一...
    99+
    2023-05-31
    java treemap 排序算法
  • 怎么在Android中利用view实现一个太极效果
    怎么在Android中利用view实现一个太极效果?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Android自定义view实现太极效果实例代码之前一直想要个加载的load...
    99+
    2023-05-31
    android view roi
  • 怎么在Java中利用JDBC实现一个事务功能
    本文章向大家介绍怎么在Java中利用JDBC实现一个事务功能,主要包括怎么在Java中利用JDBC实现一个事务功能的使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。Java是什么Java是一门面...
    99+
    2023-05-30
  • 怎么在Android中利用IntentUtil实现一个跳转功能
    本文章向大家介绍怎么在Android中利用IntentUtil实现一个跳转功能的基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。Android是什么Android是一种基于Linux内核的自由及开放源代码的操作系统...
    99+
    2023-05-30
    android intentutil
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作