鱼C论坛

 找回密码
 立即注册
查看: 2108|回复: 8

[奇技淫巧] 纯CSS写一张优惠卷

[复制链接]
发表于 2019-2-24 15:00:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 不二如是 于 2020-3-17 18:59 编辑

Snip20190225_47.png


本次教程,算是周末练手的一个小项目,主要是对 CSS 几个方法的应用。

看到最上面的图,很多人以为是一张“图片”,可以是,但用 CSS 画出来不是更好吗?!

今天重点要用到:radial-gradient()

radial-gradient() 函数用径向渐变创建 "图像"。

径向渐变由中心点定义。

为了创建径向渐变你必须设置两个终止色。

语法:
background: radial-gradient(shape size at position, start-color, ..., last-color);

Snip20190225_48.png


定义玩法就是这样了,我们上手搞起来。




实操

基本的代码结构:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>鱼C-优惠卷</title>
    <style>
        
    </style>
</head>
<body>
<div class="coupon">66元</div>
</body>
</html>

接下来所有的样式都在 style 元素中写,不做过多说明了。

先用 radial-gradient 绘制一个圆,设置 left 为1px,top 为8px,形成半圆:
 .coupon {
            position: relative;
            width: 400px;
            height: 160px;
            margin: 50px auto;
            background-image:
                    radial-gradient(
                            circle at 1px 8px,
                            transparent 6px,
                            #2ebb96 6px,
                            #2ebb96 0px);
        }
Snip20190225_49.png


半圆出来了,由于类 .coupon 对应的 div 中我们设置了文本,所以有点被挡住了。

暂时去掉文本,看到:
Snip20190225_50.png


其实是一个完整的圆,被移到了边界而已,只要将 circle at 的值移动下就可以看到:
 circle at 8px 8px
Snip20190225_51.png


现在我们还是恢复为1px,现在设置波浪造型

需要设置背景大小,y轴默认平铺,x轴不允许平铺,形成多个半圆,造就波浪造型:
 .coupon {
            position: relative;
            width: 400px;
            height: 160px;
            margin: 50px auto;
            background-image:
                    radial-gradient(
                            circle at 1px 8px,
                            transparent 6px,
                            #2ebb96 6px,
                            #2ebb96 0px);
            /*波浪造型*/
            background-size: 200px 18px;
            background-repeat-x: no-repeat;
        }
Snip20190225_52.png


同理我们添加右边的并设置双边的效果:
.coupon {
            position: relative;
            width: 400px;
            height: 160px;
            margin: 50px auto;
            background-image:
                    radial-gradient(
                    /*左边*/
                            circle at 1px 8px,
                            transparent 6px,
                            #2ebb96 6px,
                            #2ebb96 0px),
                    /*右边*/
                    radial-gradient(
                            circle at 199px 8px,
                            transparent 6px,
                            #2ebb96 6px,
                            #2ebb96 0px);
            /*波浪造型*/
            background-size: 200px 18px;
            background-repeat-x: no-repeat;
            /*设置双边*/
            background-position: 0 0, 200px 0;
        }
Snip20190225_53.png


基本样式就是出来了!

剩下的就是优化文本啦,把我们刚才删除的文本恢复。

:before 伪类,制作中间的虚线:
 /*制作虚线*/
        .coupon::before {
            position: absolute;
            content: "";
            left: 240px;
            top: 0;
            bottom: 0;
            width: 0;
            border-left: 1px dashed #fff;
        }
Snip20190225_54.png


:after 伪类,添加“立即领取”文字:
/*立刻领取*/
        .coupon::after {
            position: absolute;
            content: "立即领取";
            font-size: 26px;
            width: 70px;
            top: 50%;
            right: 2%;
            transform: translate(-50%, -50%);
            line-height: 40px;
            letter-spacing: 5px;
        }
Snip20190225_55.png



同时添加金额(66元)样式:
.coupon {
            ...
            /*添加文字样式*/
            font-size: 60px;
            color: #fff;
            font-weight: bold;
            line-height: 160px;
            padding-left: 60px;
            box-sizing: border-box;
            cursor: pointer;
        }
Snip20190225_56.png


大功告成!

Snip20190225_57.png


上面设计到基本 css 玩法,大家可以通过 鱼C-API (传送门)速查手册学习。

源码下载:
游客,如果您要查看本帖隐藏内容请回复






                               
登录/注册后可看大图


如果喜欢,别忘了评分


                               
登录/注册后可看大图


这位鱼油,如果喜欢本系列HTML帖子,请订阅 专辑&#9758;传送门)(不喜欢更要订阅
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-4-22 23:34:39 | 显示全部楼层
谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-4-25 14:23:26 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-12-31 18:46:33 | 显示全部楼层
学习一波
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-23 08:35:50 | 显示全部楼层
这也太nb了
虽然用ps更简单
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-16 19:53:35 From FishC Mobile | 显示全部楼层
ihyvycy
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-9 11:03:24 | 显示全部楼层
学习了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-7 16:35:18 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-17 21:51:26 | 显示全部楼层
哈哈哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-29 09:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表