微信小程序——前端——抵扣券、优惠券样式

2023-10-27

微信小程序——前端——抵扣券、优惠券样式

效果图:

在这里插入图片描述

实现思路:

左边+划线+右边==使用信息+分割线+使用限制

整体底色:

.wrapper {
  margin: 0 auto;
  width: 100%;
  display: flex;
  background:linear-gradient(-90deg,rgba(250,173,82,1),rgba(254,50,103,1));
  /*实现颜色渐变 */
}
/*几个伪类化成的圆弧的样式以及位置(置于顶部)*/
.content:before, .tip:before, .split-line:before{
  border-radius: 0 0 16rpx 16rpx;
  top: 0;
}
.content:after, .tip:after, .split-line:after{
  border-radius: 16rpx 16rpx 0 0;
  bottom: 0;
}

左边:

/*前半部分样式*/
.content {
  position: relative;
  flex: 1;
  padding: 20rpx;
  text-align: left;
  white-space: nowrap;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
}
/*给前半部分加两个伪类,基本样式如下*/
.content:before, .content:after{
  content: '';
  position: absolute;
  width: 32rpx;
  height: 16rpx;
  background: #eee;
  left: -16rpx;
  z-index: 1;
}
.tip:before, .tip:after{
  content: '';
  position: absolute;
  width: 32rpx;
  height: 16rpx;
  background:#eee;
  right: -16rpx;
  z-index: 1;
}

分割线:

/*中间竖直虚线样式*/
.split-line {
  position: relative;
  flex: 0 0 0;
  margin: 0 10rpx 0 6rpx;
  border-left: 4rpx dashed #eee;   
}
/*给虚线加两个伪类,基本样式如下*/
.split-line:before, .split-line:after {
  content: '';
  position: absolute;
  width: 32rpx;
  height: 16rpx;
  background: #eee;
  left: -18rpx;
  z-index: 1;
}

右边:

/*后半部分样式*/
.tip {
  position: relative;
  padding:  50rpx 30rpx;
  flex: 0 0 200rpx;
  text-align: center;
}

补充其他功能:

tabs切换+点击分享+静态数据

最终代码,为了省时,直接拿去复用

wxml:
<view class="container coupons">
  <view class="coupons-header">
    <block wx:for="{{tabs}}" wx:key="id">
        <view class="tabs-item {{currentTabsIndex==index?'selected':''}}" bindtap="onTabsItemTap" data-index="{{index}}">
            {{item}}
        </view>
    </block>
    <view class="tips-box tips-bag">
      <text class="tips-title" style="color:#fff;">1</text>
    </view>
  </view>
  <view class="coupons-body">
    <view class="TabsClassContent" hidden="{{ currentTabsIndex!=0 }}">
      <block wx:for="{{ [0, 1] }}" wx:key="id">
        <view class="app">
          <view class="wrapper">
            <view class="content">
              <view class="coupon-top">
                <text>¥50.00</text>
              </view>
              <view class="coupon-middle">
                店名:八中撒码头
              </view>
              <view class="coupon-bottom">
                有效期:2019.12.23-2020.01.23
              </view>
            </view>
            <view class="split-line"></view>
            <view class="tip">
              <view class="conditions">
                满500元使用
              </view>
              <button class="useNow" size="mini" bindtap="">立即使用</button>
            </view>
            <label><view class="share-button">
              <image style="width:50rpx;height:50rpx;" src="../../images/icon/buttonShare.png"></image>
              <button open-type="share" data-id="{{item.id}}" class="shareButton"></button>
            </view></label>                           
          </view>
        </view>  
      </block>
    </view>
    <view class="TabsClassContent" hidden="{{ currentTabsIndex!=1 }}">
    </view>
    <view class="TabsClassContent" hidden="{{ currentTabsIndex!=2 }}">
      <view class="app">
        <view class="wrapper useless">
          <image class="overTime" src="../../images/icon/overTime.png"></image>
          <view class="content">
            <view class="coupon-top">
              <text>¥50.00</text>
            </view>
            <view class="coupon-middle">
              店名:八中撒码头
            </view>
            <view class="coupon-bottom">
              有效期:2019.12.23-2020.01.23
            </view>
          </view>
          <view class="split-line"></view>
          <view class="tip">
            <view class="conditions">
              满500元使用
            </view>
            <button class="useNow" size="mini" bindtap="">已作废</button>
          </view>
        </view>
      </view>  
    </view>        
  </view>
</view>

css:
.coupons-header{
  display: flex;
  line-height: 80rpx;
}

.coupon-top text{
  font-size: 50rpx;
  color: #fff;
}

.coupon-middle{
  color: #fff;
}

.coupon-bottom{
  color: #000;
  font-size: 24rpx;
}

.tips-bag{
  right: 30rpx;
}

.share-button{
  position: relative;
  right: 10rpx;
  top: 10rpx;
}

.shareButton{
  font-size: 24rpx;
  background-color: #ff7440;
  color: #fff;
  width: 100rpx;
  height: 100rpx;
  display: none;
}

/* 优惠券 */
/* 优惠券样式 */
.app {
  padding: 10rpx; 
  background: #eee;
  margin-bottom: 5rpx;
}

.wrapper {
  margin: 0 auto;
  width: 100%;
  display: flex;
  background:linear-gradient(-90deg,rgba(250,173,82,1),rgba(254,50,103,1));
  /*实现颜色渐变 */
}

/*前半部分样式*/
.content {
  position: relative;
  flex: 1;
  padding: 20rpx;
  text-align: left;
  white-space: nowrap;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
}

/*后半部分样式*/
.tip {
  position: relative;
  padding:  50rpx 30rpx;
  flex: 0 0 200rpx;
  text-align: center;
}

/*中间竖直虚线样式*/
.split-line {
  position: relative;
  flex: 0 0 0;
  margin: 0 10rpx 0 6rpx;
  border-left: 4rpx dashed #eee;   
}

/*给虚线加两个伪类,基本样式如下*/
.split-line:before, .split-line:after {
  content: '';
  position: absolute;
  width: 32rpx;
  height: 16rpx;
  background: #eee;
  left: -18rpx;
  z-index: 1;
}

/*给前半部分加两个伪类,基本样式如下*/
.content:before, .content:after{
  content: '';
  position: absolute;
  width: 32rpx;
  height: 16rpx;
  background: #eee;
  left: -16rpx;
  z-index: 1;
}

.tip:before, .tip:after{
  content: '';
  position: absolute;
  width: 32rpx;
  height: 16rpx;
  background:#eee;
  right: -16rpx;
  z-index: 1;
}

/*几个伪类化成的圆弧的样式以及位置(置于顶部)我把它放在一起了*/
.content:before, .tip:before, .split-line:before{
  border-radius: 0 0 16rpx 16rpx;
  top: 0;
}

.content:after, .tip:after, .split-line:after{
  border-radius: 16rpx 16rpx 0 0;
  bottom: 0;
}

.money {
  font-size: 50rpx;
  color: #eee;
}

.money text {
  font-size: 50rpx;
  padding-right: 20rpx; 
}

.title {
  color: #eee;
  font-size: 30rpx;
  display: flex;
  width: 100rpx;
}

.conditions {
  color: #eee;
  font-size: 30rpx;
  padding:15rpx;
}

.useNow {
  color: rgba(254,50,103,1);
  font-size: 30rpx;
  border-radius: 50rpx;
  border-style: none;
}

.useless{
  background: #C0C0C0;
}

.overTime{
  position: absolute;
  right: 30rpx;
  top: 100rpx;
  width: 100rpx;
  height: 100rpx;
}

/* 数量指示点 */
.tips-box{
  position: absolute;
  right: 80rpx;
  top: 15rpx;
  width: 50rpx;
  height: 50rpx;
  border-radius: 50%;
  background-color: red;
}

.tips-title{
  position: relative;
  left: 17rpx;
  bottom: 17rpx;
}

und: #C0C0C0;
}

.overTime{
position: absolute;
right: 30rpx;
top: 100rpx;
width: 100rpx;
height: 100rpx;
}

/* 数量指示点 */
.tips-box{
position: absolute;
right: 80rpx;
top: 15rpx;
width: 50rpx;
height: 50rpx;
border-radius: 50%;
background-color: red;
}

.tips-title{
position: relative;
left: 17rpx;
bottom: 17rpx;
}


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

微信小程序——前端——抵扣券、优惠券样式 的相关文章

  • python报错urllib2.URLError:和error[Errno 104]

    在ubuntu16 04上使用python的skimage io imread 函数读取网页上的图片时 出现如题所示的错误 gt gt gt img io imread https cdn pixabay com photo 2015 02
  • 教你怎么使用Python对word文档进行操作

    使用Python对word文档进行操作 一 安装Python docx Python docx是专门针对于word文档的一个模块 只能读取docx 不能读取doc文件 说白了 python就相当于windows操作系统 QQ就是跑在wind
  • Spring Security默认用户生成分析

    1 首先创建进行环境搭建 创建SpringBoot项目 引入SpringSecurity依赖 编写简单的Controller 2 使用断点进行源码查看 首先访问资源localhost 8080 hello 之后会被 login页面拦截 在
  • C语言数字转换字符串

    转载自 https www cnblogs com bluestorm p 3168719 html C语言itoa 函数和atoi 函数详解 整数转字符C实现 C语言提供了几个标准库函数 可以将任意类型 整型 长整型 浮点型等 的数字转换
  • SpringJDBC的JdbcTemplate在MySQL5.7下不支持子查询的问题

    SpringJDBC的JdbcTemplate在MySQL5 7下不支持子查询的问题 org springframework jdbc BadSqlGrammarException PreparedStatementCallback bad
  • IT项目管理——08.项目质量管理

    年龄 40以下 学位 博士 专业 管理学相关专业 学术成果 以第一作者发表10篇以上高水平论文 个人品质 爱国敬业 做事严谨 为人正直 崇尚科学 教学经验 有过项目管理相关课程教学经验 投掷30次的结果 不能反映正态分布
  • 史上最管用的C盘深度清理秘籍

    使用电脑的用户都知道 使用电脑一段时间后 会堆积很多无用的文件 不仅占用磁盘空间 而且导致系统运行速度变慢 所以清理c盘垃圾是非常有必要的 无论我们给C盘分多大的分区 Windows都有办法把它填满 像休眠文件 系统页面文件这都是动辄GB级
  • 反激式开关电源的原理是什么

    反激式开关电源是一种常见的电源转换器 其原理是将输入电压通过一个开关管进行高频开关 将电压转换为脉冲信号 再通过变压器进行隔离和变换 最终输出所需的电压 具体来说 当开关管导通时 输入电压经过变压器变换后 输出电压上升 并通过输出电容器进行
  • 轻量级的Python IDE —— Thonny

    现在的开发工具太多了 而且每个开发工具都致力于做成最好用最智能的工具 所以功能越堆越多 越怼越智能 安装这些开发工具比较烧脑 经常需要经过许多配置步骤 作为一个 Python 开发者来说 好多人光是这些配置都要弄半天 配置好之后 打开软件
  • [架构之路-178]-《软考-系统分析师》-17-嵌入式系统分析与设计- 3- 分区操作系统(Partition Operating System)概述

    目录 本文概述 1 1 什么是分区操作系统 1 2 分区操作系统出现背景 1 前后台系统 Foreground Background System 2 实时操作系统 RTOS 本文概述 随着嵌入式系统日趋复杂化以及对安全性要求的不断提高 采
  • “因为无法从捐赠中抽成,谷歌把我的开源 App 下架了!”

    众所周知 苹果税和谷歌税的存在 即 只要你的 App 在 App Store 或 Google Play 上架 产生的收入就必须分给苹果或谷歌 这个 收入 包括 收费 App 的下载费 游戏充值费 订阅服务费等 广泛的抽成范围加上 30 的
  • 解决Ubuntu无法安装pycairo和PyGObject

    环境 虚拟机Ubuntu20 04 vscode无法安装pycairo和PyGObject 虚拟机Ubuntu20 04 vscode中运行Anaconda搭建的vens 的Python3 8 10 首先在vscode中点击ctrl shi
  • Jupyter Notebook是什么及使用

    一 什么是Jupyter Notebook Jupyter项目是一个非盈利的开源项目 源于2014年的python项目 Juptter Notebook 原名IPython Notbook 是IPython的加强网页版 一个开源web应用程
  • 华为OD机试真题- 非严格递增连续数字序列-2023年OD统一考试(B卷)

    题目描述 输入一个字符串仅包含大小写字母和数字 求字符串中包含的最长的非严格递增连续数字序列的长度 比如12234属于非严格递增连续数字序列 输入描述 输入一个字符串仅包含大小写字母和数字 输入的字符串最大不超过255个字符 输出描述 最长
  • STM32学习——什么是寄存器(存储器映射和寄存器映射)

    目录 STM32芯片里面有什么 一 驱动单元 1 ICode总线 2 DCode总线 3 系统总线 4 DMA总线 二 被动单元 1 内部的闪存存储器 2 内部的SRAM 3 FSMC 4 AHB到APB的桥 三 STM32的外设基地址映射
  • CTEX中无限期试用WinEdt的方法

    CTeX中文套装是基于Windows下的MiKTeX系统 集成了编辑器WinEdt和PostScript处理软件Ghostscript和GSview等主要工具 虽说是非商业的免费软件 但其中的WinEdt其实是收费的软件 CTEX软件利用了
  • ffmpeg 录制屏幕

    文章目录 1 ffmpeg 下载 2 screen capture recorder 下载 3 ffmpeg 录屏命令 4 ffmpeg 其他命令 后续 寻路篇 立理想 坐豪车 住豪宅 天天睡到自然醒 叹现状 小黄车 挤隔断 早上起来数星星
  • 常用框架分析(7)-Flutter

    框架分析 7 Flutter 专栏介绍 Flutter 核心思想 Flutter的特点 快速开发 跨平台 高性能 美观的用户界面 Flutter的架构 框架层 引擎层 平台层 开发过程 使用Dart语言编写代码 编译成原生代码 热重载 工具
  • Dell服务器系统升级,更改引导方式(以戴尔R720为例)

    1 重启服务器按住F2 进入system setup 选择第一项的 system BIOS 2 选择 Boot Setting 进入后启动模式有两种 BIOS和UEFI 当磁盘小于2TB的时候选择BIOS 当磁盘大于2TB的时候选择UEFI
  • vue项目引入antDesignUI组件

    快速安装ant design vue并配置 vue2 0 antDesign 1 7 8 第一步 安装ant deisgn vue 1 7 8 npm install ant design vue 1 7 8 save 第二步 配置pack

随机推荐

  • Centos7下载和安装教程

    1 CentOS下载 CentOS是免费版 推荐在官网上直接下载 网址 https www centos org download DVD ISO 普通光盘完整安装版镜像 可离线安装到计算机硬盘上 包含大量的常用软件 一般选择这种镜像类型即
  • 如何用openweather显示html,如何显示openweathermap天气图标

    我正在使用openweathermap显示天气预报 一切正常 但图标有问题 json响应代码是 Array city gt Array id gt 1271476 name gt Guwahati coord gt Array lon gt
  • makefile中wildcard的理解

    wildcard 用来明确表示通配符 因为在 Makefile 里 变量实质上就是 C C 中的宏 也就是说 如果一个表达式如 objs o 则 objs 的值就是 o 而不是表示所有的 o 文件 若果要使用通配符 那么就要使用 wildc
  • PCB制板流程及工艺

    PCB制板的流程一般包括以下几个步骤 1 设计电路原理图和PCB布局 首先 需要设计电路原理图和PCB布局图 电路原理图是电路的逻辑图 用于指导电路的设计和调试 PCB布局图是电路板上各个元件的布局图 包括焊盘 引脚 电源 地线等 电路原理
  • 华中科技大学操作系统实验课 实验二

    一 实验目的 1 理解进程 线程的概念和应用编程过程 2 理解进程 线程的同步机制和应用编程 二 实验内容 1 在Linux下创建一对父子进程 2 在Linux下创建2个线程A和B 循环输出数据或字符串 3 在Windows下创建线程A和B
  • MySQL 回表 & 索引覆盖

    索引类型 聚簇索引 叶子节点存储的是行记录 每个表必须要有至少一个聚簇索引 使用聚簇索引查询会很快 因为可以直接定位到行记录 普通索引 二级索引 除聚簇索引外的索引 即非聚簇索引 普通索引叶子节点存储的是主键 聚簇索引 的值 聚簇索引递推规
  • 【嵌入式学习-C语言篇】 if & switch 的使用

    嵌入式学习 C语言篇 if switch 的使用 if switch 的常用场景 智能音箱 网络状态判断 智能家居 传感器开关灯 基本代码 我们拿网络状态判断来举例 下面代码展示了使用if 和 switch的使用 include
  • 背包问题(资料搜集)

    https comzyh com upload PDF Pack PDF Comzyh pdf 上面的背包问题讲解来自这位大佬 大佬
  • VS Code中统计有效代码行数(除去注释行,空格)

    之前用正则表达式在VSCode中直接查询代码行数 不过这种太麻烦了需要先设置好 要包含的文件 和 要排除的文件 而且还不能排除注释行和空格 所有给大家安利VS Code的一款很好用的插件 1 首先在VS Code中搜索VS Code cou
  • 刷脸支付比以前的支付技术确实安全不少

    支付宝正式推出刷脸支付功能 在我们腾不出手来或是忘记各种各样的密码可以选择往付款摄像头一站随后输入号码就支付完成 整个过程不足十秒钟 随着科学技术的不断完善 刷脸也会变得更加安全 不过就目前的安全来看 日常使用刷脸支付没有任何问题 刷脸支付
  • 华为HCIA-Datacom学习笔记

    系列文章目录 第一章 网络的定义和网络的历史 文章目录 系列文章目录 第一章 网络的定义和网络的历史 前言 一 网络的定义 1 网络范围 二 网络的历史沿革 1 图灵机 2 第一台计算机 3 阿帕网 4 传输协议 5 厂商 6 代理商 7
  • 函数使用注意事项

    1 自定义函数 lt 1 gt 无参数 无返回值 def 函数名 语句 lt 2 gt 无参数 有返回值 def 函数名 语句 return 需要返回的数值 注意 一个函数到底有没有返回值 就看有没有return 因为只有return才可以
  • 服务器修改字体,Win10 1909默认字体怎么修改?Win10 1909默认字体修改教程

    在使用Win10 1909设备的时候 偶尔需要创建一个全新的网络连接来进行文件的共享 但许多Win10 1909用户其实并不清楚 该怎么新建网络连接 针对这一情况 小编今天为大家带来了Win10 1909网络连接新建方法简述 方法步骤 打开
  • 基于组件化+模块化+Kotlin+协程+Flow+Retrofit+Jetpack+MVVM架构实现WanAndroid客户端

    前言 之前一直想写个 WanAndroid 项目来巩固自己对 Kotlin Jetpack 协程 等知识的学习 但是一直没有时间 这里重新行动起来 从项目搭建到完成前前后后用了两个月时间 平常时间比较少 基本上都是只能利用零碎的时间来写 但
  • 虚拟数字人详解|有个性、有情感的对话技术探索

    文 蔡华 华院计算 元宇宙是当前流行的的技术和商业热点 而其背后的核心技术是数字人 近日 华院计算算法研究员蔡华博士就虚拟数字人 有个性 有情感的对话技术 的话题进行了讲解 以下内容为蔡华博士的演讲内容节选 虚拟数字人的三重 境界 关于虚拟
  • STM32编译生成的BIN文件详解

    背景 在做stm32的IAP功能 大概思路参见我的另一篇文章 跟别人讨论了关于app中发生中断之后流程的问题 然后看了一下BIN文件格式 主要是因为BIN文件就是镜像 不包含任何其他信息 如下载的地址等 就是对ROM的绝对描述 可以很清楚看
  • 安卓端自行实现工信部要求的隐私合规检测一(教你手写Xposed模块代码)

    前言 友情提示 文章较长 源码及相关使用教程都在文尾 之所以写这篇文章 是因为不久前 我们公司上架的app被打回来了 信通院那边出了个报告 里面说我们app未经授权就自动获取了手机的mac地址 当时其实是有点懵逼的 因为合规措施其实是已经做
  • 七十九.找出唯一成对的数(位运算)

    1 N 这N个数放在含有N 1个元素的数组中 只有唯一的一个元素值重复 其它均只出现一次 每个数组元素只能访问一次 设计一个算法将它找出来 不用辅助存储空间 能否设计一个算法实现 import java util Random public
  • 引力搜索算法

    最近在论文中看到有学者用改进的引力搜索算法解优化问题 有一个较好的效果 于是去了解了一下这个算法 引力搜索算法 Gravitational Search Algorithm GSA 是Esmat Rashedi等人在2009年提出的一种随机
  • 微信小程序——前端——抵扣券、优惠券样式

    微信小程序 前端 抵扣券 优惠券样式 效果图 实现思路 左边 划线 右边 使用信息 分割线 使用限制 整体底色 wrapper margin 0 auto width 100 display flex background linear g