需求场景

添加优惠券类目,展示用户的优惠券

常见的设计样式如下图,核心为半圆

分步拆解

优惠券的特点是带有反向圆角,为了展示效果更好,适配多种场景,不推荐使用背景图片形式,建议使用css.

网上有几种方案:

一种是boder+clip的形式,裁剪出4个小半圆角,拼凑在一起

一种是radial-gradient径向渐变,相对上一种需要考虑其兼容性

一种是使用背景图片,特点是加载稍慢,体验比css差,兼容性好

具体的代码这里就不一一演示了

注意细节

有一点要说明的是:

一定要注意细节,就像考虑到兼容性和带宽以及加载时长一样,我们也要为以后可能的变动留有空间.

前两种方案的特点是左右的容器都有背景色,且半圆的边框色是有背景色截取而获得的.

当我们需要指定半圆的边框和其他边框颜色同时变换不同背景色的时候呢?

参考下图:

边框色和背景色可以是不一致的,并且整个边框颜色可以保持一致,而这些,上述两种方法不论是border还是gradient显然不行.

其他方法

优惠券的样式是两部分拼接在一起,同时带有半圆样式

那么我们的思路可以是:

创建一个盒子,包含左右两个卡券部分,卡券背景色各自定义

盒子上盖上两个半圆,一个在顶部,一个在底部,背景色为白色

卡券和半圆的边框都可以自定义,同色使用一个色号即可

直接使用css创建一个嵌有半圆的边框不太现实,但是我们可以通过其他方法达到视觉上的实现.

中间需要一些空间思维和想象能力,过程可能复杂些,但是能实现目的就行,另辟蹊径的效果更好.

创建一个总容器

容器控制卡券的宽高和布局上位置,不带有其他样式

创建左右卡券

添加两个容器,一个放左边,一个放右边,割分总容器空间

左边容器单独设置左上和左下两个圆角,右边容器单独设置右上和右下两个圆角

左右容器各自设置自定义背景色

贴上半圆

添加两个半圆,背景色为白色,边框待定

相对总容器绝对定位,一个放顶部,一个放底部

偏移量自定义,保持一致即可

到这一步就完成了最初的样式,接下来到了设置边框的时间

设置边框

给左右卡券容器和两个半圆添加边框即可,不影响背景色

制作半圆

核心是制作半圆(只有轮廓)

// 上半圆

.circle{

width: 200px;

height: 100px; /* 宽度的一半 */

border-radius:100px 100px 0 0; /* 上和右为高度的长度 */

background-color: #fff;

border: 1px solid gray;

border-bottom: none;

}

// 下半圆

.circle{

width: 200px;

height: 100px; /* 宽度的一半 */

border-radius: 0 0 100px 100px; /* 上和右为高度的长度 */

background-color: #fff;

border: 1px solid gray;

border-bottom: none;

}

css绘制卡券优惠券_如何使用css创建一个优惠券相关推荐

  1. react css多个变量_如何使用CSS变量和React上下文创建主题引擎

    react css多个变量 CSS variables are really cool. You can use them for a lot of things, like applying the ...

  2. css左右布局代码_如何使用CSS位置来布局网站(带有示例代码)

    css左右布局代码 Using CSS position to layout elements on your website can be hard to figure out. What's th ...

  3. css的box模型_拆箱CSS Box模型的基础

    css的box模型 by Bryan Smith 通过布莱恩史密斯 拆箱CSS Box模型的基础 (Unboxing the basics of the CSS Box Model) Understa ...

  4. css hover变成手_如何用CSS设置连接鼠标在上面是变成手型

    展开全部 用CSS设置连接鼠标在上面变成手型的方法:只需要对需32313133353236313431303231363533e59b9ee7ad9431333365666238要设置鼠标指针的文字加 ...

  5. git 创建webpack项目_使用webpack手动创建一个完整项目的全过程

    1.创建文件夹"webpack-study" 2.使用webstrom打开文件夹所在位置.在根目录上创建一个文件,文件命名为"src",在src文件下新建css ...

  6. 用python画篮球场_如何使用 Python 创建一个 NBA 得分图

    展开全部 首先,我们需要获得每个球员的投篮数据.利用 Savvas Tjortjoglou 贴出的代码,笔者62616964757a686964616fe4b893e5b19e313333633834 ...

  7. 用python画篮球场_如何使用 Python 创建一个 NBA 得分图?

    本文意在创建一个得分图,该图同时描绘了从场上不同位置投篮得分的百分比和投篮次数,这和 Austin Clemen 个人网站上的帖子 http://www.austinclemens.com/shotc ...

  8. css绘制卡券优惠券_用纯css来实现一个优惠券

    前言 我们在平时的网页中,经常会见到这样的优惠券或者其他的券(特征就是会有反方向的圆角). 可能大部分前端人员为了简单,直接采用图片的方式,直接把整张图作为背景.其实这也没什么不好的,简单,方便,还没 ...

  9. css绘制卡券优惠券_CSS 实现优惠券样式

    本文将介绍如何使用 css 中的 radial-gradient 实现如下图所示的优惠券样式效果: 绘制基本样式 首先,我们绘制出优惠券的基本样式,这很简单,就不多说了. 1 2 3 4 5 6 7 ...

  10. css绘制卡券优惠券_CSS3 可伸缩(响应式)电影票/优惠券/卡片界面组件

    CSS 语言: CSSSCSS 确定 /** * Author: Kris Olszewski * CodePen: http://codepen.io/KrisOlszewski/full/Jodj ...

最新文章

  1. log4j2的xml的配置样例
  2. 2019.03.28 bzoj3594: [Scoi2014]方伯伯的玉米田(二维bit优化dp)
  3. 模块的四种形式 模块的调用 循环导入问题 模块的搜索路径 py文件的两种用途 编译python文件 包...
  4. 使用 Linux 系统调用的内核命令图解
  5. 格式化_U盘提示格式化怎么办 U盘提示格式化解决方法【详解】
  6. python+selenium获取cookie session_selenium获取cookie及设置cookie
  7. 个人博客四|注册登录退出功能后台开发
  8. linux下安装apache与php;Apache+PHP+MySQL配置攻略
  9. 移动硬盘无法休眠了?
  10. GEF入门实例_总结_04_Eclipse插件启动流程分析
  11. 计算机视觉基础:图像处理 Task 03 - 颜色空间互转
  12. [iOS] 响应式编程开发-ReactiveCocoa(二)
  13. linux命令(47):Linux下对文件进行按行排序,去除重复行
  14. knx智能照明控制系统电路图_can总线智能家电 knx智能照明控制系统
  15. 前端和后端开发哪个工资高?
  16. 京东实习测开HR面(过)
  17. apn描述文件下载_iOS 11.3 beta 6描述文件下载|苹果iOS 11.3 Beta 6描述文件官方版_ - 极光下载站...
  18. python中的坐标轴的画法
  19. enq: HW - contention
  20. php 查看nts,查看php是ts还是nts的方法

热门文章

  1. 【教程】MFC到Delphi的皮肤移植
  2. 最常用的看板工具,敏捷开发工具
  3. iai控制器服务器ON信号,IAI控制器型号说明.pdf
  4. RS485串口通信实验
  5. 平面变压器的设计(翻译)(4)
  6. c# 多线程 源码5
  7. Android类库常用类库一览
  8. 初级商业数字营销师直通车题库
  9. HelixQAC(QAC/QAC++)静态测试工具-软件代码安全漏洞检测工具试用
  10. 加固工程验收规范50550_GB 50550-2010建筑结构加固工程施工质量验收规范