细说css的渐变属性(conic-gradient+linear-gradient+radial-gradient)

实现效果

image.png

1.什么是conic-gradient(圆锥渐变)

conic-gradient是圆锥渐变,以一个点为中心起始点,沿着圆周变化。
语法:conic-gradient( from 起始角度 at 中心点位置, 渐变断点 )
兼容性:

在这里插入图片描述

一个简单的例子:看清他的渐变方向,起始点是图形中心,然后以顺时针方向绕中心实现渐变效果。


在这里插入图片描述
<style>
         section{
            margin: 40px auto;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
        }
            
        .a{
            background:conic-gradient(#000, #fff);
            width: 200px;
            height: 200px;
        }
    </style>

    <body>
        <section>
            <h1>一个简单的例子</h1>
            <div class="a"></div>
        </section>
    </body>

2.linear-gradient : 线性渐变

linear-gradient 线性渐变的方向是一条直线,可以是任何角度,向下/向上/向左/向右/对角方向。看一个简单的例子。repeating-linear-gradient()表示重复的线性渐变。
语法:background-image: linear-gradient(direction, color-stop1, color-stop2, ...);
为了创建一个线性渐变,你必须至少定义两种颜色节点。颜色节点即你想要呈现平稳过渡的颜色。同时,你也可以设置一个起点和一个方向(或一个角度)。

在这里插入图片描述

<section>
    <h1>一个简单的例子linear-gradient</h1>
    <div class="b"></div>
</section>
<section>
    <h1>一个例子repeating-linear-gradient</h1>
    <div class="c"></div>
</section>

.b{
    background:linear-gradient(to top right ,red 0,yellow 50%,transparent 50%,transparent 100%);
    width: 200px;
    height: 200px;
}
.c{
    background:repeating-linear-gradient(45deg,#55aa7f,#55ff7f,5px ,#ffaaff 0,#ff55ff  20px);
    width: 200px;
    height: 200px;
}

3.radial-gradient : 径向渐变

径向渐变是从圆心点以椭圆形状向外扩散。
语法:background-image: radial-gradient(shape size at position, start-color, ..., last-color);
shape 参数定义了形状。它可以是值 circle 或 ellipse。其中,circle 表示圆形,ellipse 表示椭圆形。默认值是 ellipse。

在这里插入图片描述

<section>
    <h1>一个例子radial-gradient</h1>
    <div class="d"></div>
</section>
<section>
    <h1>一个例子radial-gradient椭圆形 Ellipse(默认):</h1>
    <div class="e"></div>
</section>
<section>
    <h1>一个例子radial-gradient圆形 Circle:</h1>
    <div class="f"></div>
</section>

.d{
    background-image:radial-gradient(transparent 0,transparent 49%,#ffaaff 50%,#3eff8b 100%);
    width: 200px;
    height: 200px;
}
.e{
    background-image:radial-gradient(#ffaaff ,#3eff8b,#000);
    width: 300px;
    height: 200px;
}
.f{
    background-image:radial-gradient(circle,#ffaaff ,#3eff8b,#000);
    width: 300px;
    height: 200px;
}

3.1重复的径向渐变

repeating-radial-gradient() 函数用于重复径向渐变。


在这里插入图片描述
<section>
    <h1>一个重复的radial-gradient</h1>
    <div class="g"></div>
</section>
.g{
        width: 300px;
        height: 200px;
        background-image: repeating-radial-gradient(#ffaaff 10% ,#3eff8b 20%,#000 10%);
    }

4.重点的说一下conic-gradient(锥形渐变的应用)

4.1颜色表盘

在这里插入图片描述
.j{
    background:conic-gradient(red, orange, yellow, green, teal, blue, purple,red);
    width: 200px;
    height: 200px;
    border-radius: 50%;
}
<section>
    <h1>conic-gradient实现颜色表盘</h1>
    <div class="j"></div>
</section>

4.2圆环进度条

在这里插入图片描述
<section>
    <h1>conic-gradient实现圆弧进度条效果</h1>
    <div class="n" style="background-image:conic-gradient(from -180deg,#a8c992 77%,#ebebeb 0%)">
        <text class="n-text">77%</text>
    </div>
</section>
.n{
    width: 200px;
    height: 200px;
    border-radius: 50%;
    position: relative;
}
.n::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  height: 90%;
  border-radius: 50%;
  background-color: #fff;
}
.n-text{
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  font-size: 20rpx;
  color: #a8c992;
}

4.3实现饼图

在这里插入图片描述
<section>
    <h1>conic-gradient实现饼图</h1>
    <div class="o"></div>
</section>
.o{
    width: 200px;
    height: 200px;
    border-radius: 50%;
    /* 写法一: */
    background: conic-gradient(#ffaaff 0, #ffaaff 20%, #aa55ff 20%, #aa55ff  60%, #aaff7f  60%, #aaff7f   100%);
    /* 写法二: */
    /* background: conic-gradient(#ffaaff 0 20%, #aa55ff 30% 70%, #aaff7f  70% 100%); */
}

4.4实现棋盘

在这里插入图片描述
<section>
    <h1>conic-gradient实现棋盘效果</h1>
    <div class="k"></div>
</section>
.k{
    width: 400px;
    height: 200px;
    background: conic-gradient(#eee 25%, white 0deg 50%, #eee 0deg 75%, white 0deg) 0 / 20px 20px;
}

5.重复圆锥渐变 repaeting-conic-gradient

在这里插入图片描述
.q{
    width: 400px;
    height: 300px;
    background: repeating-conic-gradient(#aaaa7f 0 15deg,  #fff  0 30deg);
}
<section>
    <h1>重复conic-gradient</h1>
    <div class="q"></div>
</section>

6.更多案例请移步

https://gitee.com/susuhhhhhh/css_demos

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 222,252评论 6 516
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,886评论 3 399
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 168,814评论 0 361
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,869评论 1 299
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,888评论 6 398
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,475评论 1 312
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 41,010评论 3 422
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,924评论 0 277
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,469评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,552评论 3 342
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,680评论 1 353
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,362评论 5 351
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 42,037评论 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,519评论 0 25
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,621评论 1 274
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 49,099评论 3 378
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,691评论 2 361

推荐阅读更多精彩内容