CSS3之径向渐变

径向渐变(radial gradients):从起点到终点颜色从内而外沿进行圆形渐变。

语法

background:radial-gradient(center,shape size,start-color,……,last-color);

径向渐变-设置形状

语法:

background:radial-gradient(shape,start-color,……,last-color);

说明:

shape值可以取两个

circle——圆形

ellipse——椭圆(默认)

径向渐变-尺寸大小关键字

尺寸大小关键字是确定结束颜色的位置,默认值为farthest-corner。

语法

background:radial-gradient(size,start-color,……,last-color);

size取值为以下四个关键字:

closest-side:最近边

farthest-side:最远边

closest-corner:最近角

farthest-corner:最远角

实例:

 div {
      width: 300px;
      height: 200px;
      /* Safari 5.1 - 6.0 */
      background: -webkit-radial-gradient(30% 70%, farthest-side, blue, green, yellow, black);
      /* Opera 11.6 - 12.0 */
      background: -o-radial-gradient(30% 70%, farthest-side, blue, green, yellow, black);
      /* Firefox 3.6 - 15 */
      background: -moz-radial-gradient(30% 70%, farthest-side, blue, green, yellow, black);
      /* 标准的语法 */
      background: radial-gradient(30% 70%, farthest-side, blue, green, yellow, black);
    }

  

径向渐变-圆心位置

语法:

background:radial-gradient(level-percent vertical-percent,start-color,……,last-color);

注意:圆心位置的标准语法目前主流浏览器支持性较差,需要注意加浏览器前缀。

一般使用时的方式:

-webkit-background:radial-gradient(level-percent vertical-percent,start-color,……,last-color);

-o-background:radial-gradient(level-percent vertical-percent,start-color,……,last-color);

-moz-background:radial-gradient(level-percent vertical-percent,start-color,……,last-color);

background:radial-gradient(level-percent vertical-percent,start-color,……,last-color);

思考:1、渐变中颜色后面百分比值有何含义?

3-12编程练习

小伙伴们,学习了CSS3径向渐变,根据效果图,补充代码,实现:

(1)以中心(60% 40%)为起点,设置圆心到最近边、最圆边、最近角、最圆角的四种径向渐变效果。

(2)径向渐变的形状是圆形

(3)颜色由里到外分别是红、黄、绿、蓝

效果图如下

任务

给4个元素分别设置背景颜色径向渐变

(1)分别设置径向渐变大小为最近边、最远边、最近角、最远角

(2)渐变的圆心为60%和40%

(3)渐变的形状为圆形

(4)渐变的颜色由里到外依次为红、黄、绿、蓝。

参考代码:

<!DOCTYPE html>
<html>

<head lang="zh-CN">
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">

    <title>径向渐变</title>
    <style>
        div {
            width: 200px;
            height: 300px;
            float: left;
            margin: 100px 0 0 100px;
        }

        /* 补充代码,分别写出4个元素的背景渐变效果 */

        .div1 {
            background: -webkit-radial-gradient(60% 40%,closest-side circle, red,yellow,green,blue);
            /* Opera 11.6 - 12.0 */
            background: -o-radial-gradient(60% 40%,closest-side circle, red,yellow,green,blue);
            /* Firefox 3.6 - 15 */
            background: -moz-radial-gradient(60% 40%,closest-side circle, red,yellow,green,blue);
            /* 标准的语法 */
            background: radial-gradient(60% 40%,closest-side circle, red,yellow,green,blue);
        }
        .div2 {
            background: -webkit-radial-gradient(60% 40%,farthest-side circle, red,yellow,green,blue);
            /* Opera 11.6 - 12.0 */
            background: -o-radial-gradient(60% 40%,farthest-side circle, red,yellow,green,blue);
            /* Firefox 3.6 - 15 */
            background: -moz-radial-gradient(60% 40%,farthest-side circle, red,yellow,green,blue);
            /* 标准的语法 */
            background: radial-gradient(60% 40%,farthest-side circle, red,yellow,green,blue);
        }
        .div3 {
            background: -webkit-radial-gradient(60% 40%,closest-corner circle, red,yellow,green,blue);
            /* Opera 11.6 - 12.0 */
            background: -o-radial-gradient(60% 40%,closest-corner circle, red,yellow,green,blue);
            /* Firefox 3.6 - 15 */
            background: -moz-radial-gradient(60% 40%,closest-corner circle, red,yellow,green,blue);
            /* 标准的语法 */
            background: radial-gradient(60% 40%,closest-corner circle, red,yellow,green,blue);
        }
        .div4 {
            background: -webkit-radial-gradient(60% 40%,farthest-corner circle, red,yellow,green,blue);
            /* Opera 11.6 - 12.0 */
            background: -o-radial-gradient(60% 40%,farthest-corner circle, red,yellow,green,blue);
            /* Firefox 3.6 - 15 */
            background: -moz-radial-gradient(60% 40%,farthest-corner circle, red,yellow,green,blue);
            /* 标准的语法 */
            background: radial-gradient(60% 40%,farthest-corner circle, red,yellow,green,blue);
        }
    </style>
</head>

<body>
    <div class="div1"></div>
    <div class=‘div2‘></div>
    <div class=‘div3‘></div>
    <div class=‘div4‘></div>
</body>

</html>

  

径向渐渐-重复渐变

background:repeating-radial-gradient(color1 length|percent,color2 length|percent,……);

3-14编程练习

小伙伴们,我们学习了CSS3径向渐变中的重复渐变,接下来,根据效果图写出代码,实现以元素中心为原点进行多个彩虹球的重复径向渐变。

(1)要求彩虹的7个颜色,取值范围从0%开始,一次加5%,比如红色是0%,橙色是5%,黄色是10%,依次类推

(2)提示:彩虹球的颜色,用英语单词表示即可

(3)效果图如下:

参考代码:

<!DOCTYPE html>
<html>

<head lang="zh-CN">
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">

    <title>径向渐变</title>
    <style>
        div {
            width: 400px;
            height: 400px;
            /* 补充代码 */
            background: -webkit-repeating-radial-gradient(closest-side circle, red 0%,orange 5%,yellow 10%,green 15%,blue 20%,indigo 25%,purple 30%);
            /* Opera 11.6 - 12.0 */
            background: -o-repeating-radial-gradient( closest-side circle,red 0%,orange 5%,yellow 10%,green 15%,blue 20%,indigo 25%,purple 30%);
            /* Firefox 3.6 - 15 */
            background: -moz-repeating-radial-gradient(closest-side circle,red 0%,orange 5%,yellow 10%,green 15%,blue 20%,indigo 25%,purple 30%);
            /* 标准的语法 */
            background: repeating-radial-gradient( closest-side circle, red 0%,orange 5%,yellow 10%,green 15%,blue 20%,indigo 25%,purple 30%);
        }
    </style>
</head>

<body>
    <div class="div1"></div>

</body>

</html>

  

3-18编程练习

小伙伴们,根据要求,补充代码(使用CSS3背景的渐变及其它属性写出),要求如下:

四个角是紫色,中间的颜色是黄色

将上面的小图呈4*4显示出来,效果如下:

任务

第一步:使用线性渐变创建背景图片

(1)先将单个的背景效果写出来

(2)这个渐变效果是四个角是紫色,中间是透明的,可以使用角度渐变写出来

第二步:规定这个背景图像的尺寸是100*100.

参考代码:

<!DOCTYPE html>
<html>

<head lang="zh-CN">
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">

    <title>3-18编程练习</title>
    <style>
        div {
            width: 400px;
            height: 400px;
            background-color: yellow;
            /* 补充代码 */
            background-size: 100px 100px;

            background-image: -webkit-linear-gradient(45deg, purple 25%, transparent 25%),
                -webkit-linear-gradient(45deg, transparent 75%, purple 75%),
                -webkit-linear-gradient(-45deg, purple 25%, transparent 25%),
                -webkit-linear-gradient(-45deg, transparent 75%, purple 75%);
            /* Opera 11.6 - 12.0 */
            background-image: -o-linear-gradient(45deg, purple 25%, transparent 25%),
                -o-linear-gradient(45deg, transparent 75%, purple 75%),
                -o-linear-gradient(-45deg, purple 25%, transparent 25%),
                -o-linear-gradient(-45deg, transparent 75%, purple 75%);
            /* Firefox 3.6 - 15 */
            background-image: -moz-linear-gradient(45deg, purple 25%, transparent 25%),
                -moz-linear-gradient(45deg, transparent 75%, purple 75%),
                -moz-linear-gradient(-45deg, purple 25%, transparent 25%),
                -moz-linear-gradient(-45deg, transparent 75%, purple 75%);
            /* 标准的语法 */
            background-image: linear-gradient(45deg, purple 25%, transparent 25%),
                linear-gradient(45deg, transparent 75%, purple 75%),
                linear-gradient(-45deg, purple 25%, transparent 25%),
                linear-gradient(-45deg, transparent 75%, purple 75%);
        }
    </style>
</head>

<body>
    <div class="div1"></div>
</body>

</html>

  

原文地址:https://www.cnblogs.com/f6056/p/11558766.html

时间: 2024-08-29 15:59:46

CSS3之径向渐变的相关文章

前端学习-10个demo示例学会CSS3 radial-gradient径向渐变

一.语法细节记不住怎么办?实际开发的时候,当要使用radial-gradient径向渐变的时候,脑中会有大概的语法,但是细节却记不住,于是想快捷找个案例看看具体怎么用,然后直接套一下.通常一番搜索,会发现虽然是个简单需求,但是正好满足这个需求的页面却不好找,乱糟糟的. 下次遇到这种场景,直接来本站搜"径向渐变",或者直接搜索"渐变",就有专门展示radial-gradient径向渐变基本语法使用案例的文章.文章共展示了10例常见使用案例,相信一定可以覆盖你的使用场景

CSS3渐变——径向渐变

上节在<再说CSS3渐变——线性渐变>和大家一起学习了CSS3 Gradient中径向渐变最新语法(称得上是W3C的标准语法)相关知识以及其基本使用.今天我们在这一篇中主要和大家一起来了解渐变中的径向渐变新语法以及其基本使用. CSS3径向渐变 CSS3径向渐变是圆形或椭圆形渐变.颜色不再沿着一条直线轴变化,而是从一个起点朝所有方向混合.但相对线性渐变要比径向渐变复杂的多. 一.径向渐变的语法 CSS3的径向渐变已得到众多浏览器引擎的支持,只不过其语法的版本根据不同的引擎浏览器,其语法也不一样

CSS3基本属性之渐变Gradient

CSS3发布很久了,现在在国外的一些页面上常能看到他的身影,这让我羡慕已久,只可惜在国内为了兼容IE,让这一项技术受到很大的限制,很多Web前端人员都望而止步.虽然如此但还是有很多朋友在钻研CSS3在web中的应用,为了不被淘汰,我也开始向CSS3进发,争取跟上技术的前沿.从现在开始我会不断的发布一些CSS3的应用,和大家一起分享,今天我们首先要看的就是:CSS3: Gradient─CSS3渐变. CSS3 Gradient分为linear-gradient(线性渐变)和radial-grad

纯css径向渐变(CSS3--Gradient)

渐变 一.CSS3的径向渐变 效果图网址:http://www.spritecow.com 图像拼接技术 CSS3 Gradient分为linear-gradient(线性渐变)和radial-gradient(径向渐变). html代码: 1 <h1>Hold the front page</h1> 2 <p>Now you get the nitty-gritty of the story.</p> 3 <p>The most importa

Css3渐变(Gradients)-径向渐变

CSS3径向渐变-radial-gradient()/repeating-radial-gradient() 径向渐变由它的中心定义. 创建径向渐变,至少定义两种颜色节点,呈现平稳过度的颜色.同时,你也可以指定渐变中心.形状(圆形或椭圆形).大小. 默认情况下,渐变的中心是center(表示在中心),渐变的形状是ellipse(表示椭圆形),变天的大小是farthest-corner(表示到最远的角落) 语法: background: radial-gradient(center, shape

CSS3 径向渐变(radial-gradient)

上篇文章介绍了 CSS3 线性渐变(linear-gradient),这篇文章向大家介绍 radial-gradient(径向渐变)以及重复渐变(线性重复.径向重复).在以前,渐变效果和阴影.圆角效果一样都是做成图片,现在 CSS3 可以直接编写  CSS 代码来实现. CSS3 径向渐变和线性渐变是很相似的,我们首先来看其语法: .代码   -moz-radial-gradient([<bg-position> || <angle>,]? [<shape> || &l

初探CSS3 - 径向渐变

CSS3径向渐变是圆形或者椭圆形的渐变方式,颜色不再朝着一条直线的方向渐变,而是从一个起点沿着所有方向的渐变. 以orange向red渐变为例,最简单的径向渐变如下所示: <!DOCTYPE html> <html> <head> <title>radial</title> <meta charset="utf-8" /> <style type="text/css"> *{padd

css3 径向渐变

/* 径向渐变 */div.radial { width: 600px; height: 400px; margin: 30px auto; border: 1px #f00 solid; background-image: -webkit-gradient(radial,50% 50%,0, 50% 50%,100,from(green), to(purple),color-stop(50%,red),color-stop(80%,yellow));} <!-- 径向渐变 --><di

CSS3线性渐变和径向渐变

background:linear-gradient(to top left, blue,orange);//从右下角往左上角渐变 background:radial-gradient(to top left, blue,orange);//径向渐变