搜索
首页web前端css教程在CSS3中常用的几种颜色渐变模式

在CSS3中常用的几种颜色渐变模式

Jun 12, 2018 pm 02:03 PM
css3模式渐变颜色

现在html5  css3已经越来越流行,用CSS3实现p渐变已经不是什么难事了,这篇文章给大家整理了现在常用的三种颜色渐变模式,包括线性渐变、径向渐变和重复的线性渐变,文中通过示例代码介绍的很详细,有需要的朋友们可以参考借鉴,下面来一起看看吧。

一、线性渐变:linear-gradient

语法:

  <linear-gradient> = linear-gradient([ [ <angle> | to <side-or-corner] ,]? <color-start>[, <color-end>]+)
        <side-or-corner> = [left | right] || [top | bottom]
        <color-start|end> = <color>[ <length>|<percentage>]?

下述值用来表示渐变的方向,可以使用角度或者关键字来设置:

    0c0cb308ee3d2ee3281772bfc9b806c2:用角度值指定渐变的方向(或角度)。

        to left:设置渐变为从右到左。相当于: 270deg

        to right:设置渐变从左到右。相当于: 90deg

        to top:设置渐变从下到上。相当于: 0deg

        to bottom:设置渐变从上到下。相当于: 180deg。这是默认值,等同于留空不写。

    6ab8bd9e73d022f4d8c73f46b76d6b4e 用于指定渐变的起止颜色:

       b10fb37415d019cfffa8c4d7366c607f:指定颜色。

       d82af2074b26fcfe177e947839b5d381:用长度值指定起止色位置。不允许负值

       42c97a047d75abc12b9b351eb8562711:用百分比指定起止色位置。

示例:

p {  
    width: 200px;  
    height: 100px;  
    margin: 10px 5px;  
    border: 1px solid #ddd000;  
}  
#LinearStartToEnd {  
  float:left;  
  background: linear-gradient(#ff0000, #00ff00);  
}  
#LinearPercentage {  
  float:left;  
  background: linear-gradient(#0000ff, #ff0000 52%, #00ff00);  
}  
#LinearAnglePercentage {  
  float:left;  
  background: linear-gradient(90deg, #ff0000 20%, #00ff00 50%, #000000 80%);  
}  
#LinearAngle {  
  float:left;  
  background: linear-gradient(30deg, #ffff00 30%, #ff0000, #00ff00);  
}  
#LinearTopRight {  
  float:left;  
  background: linear-gradient(to right top, #00ff00, #ff0000 50%, #0000ff);  
}

二、径向渐变:radial-gradient

语法:

  <position> = [ <length>① | <percentage>① | left | center① | right ]? [ <length>② | <percentage>② | top | center② | bottom ]?
     <shape> = circle | ellipse
     <size> = <extent-keyword>|[<circle-size>||<ellipse-size>]
     <extent-keyword> = closest-side | closest-corner | farthest-side | farthest-corner
     <circle-size> = <length>
     <ellipse-size> = [ <length>| <percentage> ]{2}
     <shape-size> = <length>| <percentage>
     <radial-gradient> = radial-gradient([ [ <shape>|| <size> ] [ at <position> ]? , | at <position> , ]?<color-start>[[ , <color-end>]]+)

       7f952ef31037694d232de8bb3c23c71d 确定圆心的位置。如果提供2个参数,第一个表示横坐标,第二个表示纵坐标;如果只提供一个,第二值默认为50%,即center

         d82af2074b26fcfe177e947839b5d381①:用长度值指定径向渐变圆心的横坐标值。可以为负值。

         42c97a047d75abc12b9b351eb8562711①:用百分比指定径向渐变圆心的横坐标值。可以为负值。

         d82af2074b26fcfe177e947839b5d381②:用长度值指定径向渐变圆心的纵坐标值。可以为负值。

         42c97a047d75abc12b9b351eb8562711②:用百分比指定径向渐变圆心的纵坐标值。可以为负值。

              center①:设置中间为径向渐变圆心的横坐标值。

              center②:设置中间为径向渐变圆心的纵坐标值。

              left:设置左边为径向渐变圆心的横坐标值。

              right:设置右边为径向渐变圆心的横坐标值。

              top:设置顶部为径向渐变圆心的纵坐标值。

              bottom:设置底部为径向渐变圆心的纵坐标值。

       18b1d935585fae6b48e00ea5f5b48e2d 确定圆的类型

              circle:指定圆形的径向渐变

              ellipse:指定椭圆形的径向渐变。

       83d88fc78ea63beb9eb0e2ca8599b73c circle | ellipse 都接受该值作为 size。

              closest-side:指定径向渐变的半径长度为从圆心到离圆心最近的边。

              closest-corner:指定径向渐变的半径长度为从圆心到离圆心最近的角。

              farthest-side:指定径向渐变的半径长度为从圆心到离圆心最远的边。

              farthest-corner:指定径向渐变的半径长度为从圆心到离圆心最远的角。

       4864699555de5951925219d21d827f01 circle 接受该值作为 size。

              d82af2074b26fcfe177e947839b5d381:用长度值指定正圆径向渐变的半径长度。不允许负值。

       27f0c97386351520c498b3508674e061 ellipse 接受该值作为 size。

             d82af2074b26fcfe177e947839b5d381:用长度值指定椭圆径向渐变的横向或纵向半径长度。不允许负值。

             42c97a047d75abc12b9b351eb8562711:用百分比指定椭圆径向渐变的横向或纵向半径长度。不允许负值。

示例:

#RadialCenterCircle {  
  float:left;  
    background: radial-gradient(circle at center, #ff0000, #ffff00, #00ffff);  
}  
#RadialClosestSide {  
  float:left;  
    background: radial-gradient(circle closest-side, #ff0000, #00ff00, #ffff00);  
}  
#RadialFarthestSide {  
  float:left;  
    background: radial-gradient(farthest-side, #ff0000 20%, #ffff00 60%, #00ff00 80%);  
}  
#RadialRightTop {  
  float:left;  
    background: radial-gradient(at right top, #ff0000, #ffff00, #00ff00);  
}  
#RadialRadiusCenter {  
  float:left;  
    background: radial-gradient(farthest-side at top right, #ff0000, #ffff00, #01fefe);  
}  
#RadialGroup {  
  float:left;  
    background:  
        radial-gradient(farthest-side at top right, #ff0000, #ffff00, #009f00, transparent),  
        radial-gradient(60px at top left, #ff0000, #ffff00, #00ff0e);  
}

三、重复的线性渐变:repeating-linear-gradient

语法和参数类似线性渐变,这里不在赘述。详情请参考CSS手册。

示例: 

#RepeatingLinearPercentage{  
  float:left;  
    background: repeating-linear-gradient(#ff0000, #00ff00 10%, #000000 15%);  
}  
#RepeatingLinearRight {  
  float:left;  
    background: repeating-linear-gradient(to right, #ff0000, #00ff00 10%, #000000 15%);  
}  
#RepeatingLinearAngle {  
  float:left;  
    background: repeating-linear-gradient(45deg, #ff0000, #00ff00 10%, #0000ff 15%);  
}  
#RepeatingLinearBottomLeft {  
  float:left;  
    background: repeating-linear-gradient(to bottom left, #00ffff, #ff0000 10%, #00ff00 15%);  
}

四、重复的径向渐变:repeating-radial-gradient

语法和参数类似径向渐变,这里不在赘述。详情请参考CSS手册。

示例:

#RepeatingRadialCircle {  
  float:left;  
    background: repeating-radial-gradient(circle, #ff0000 0, #00ff00 10%, #0000ff 15%);  
}  
#RepeatingRadialTopLeft {  
  float:left;  
    background: repeating-radial-gradient(at top left, #ff0000, #00ff00 10%, #0de0f0 15%, #ffff00 20%, #000000 25%);  
}  
#RepeatingRadialClosestCorner {  
  float:left;  
    background: repeating-radial-gradient(circle closest-corner at 20px 50px, #00ff00, #ff0000 10%, #00ffff 20%, #ffff00 30%, #ff00ff 40%);  
}

完整的例子:

<!DOCTYPE html>  
<html>  
<head>  
<meta charset="utf-8" />  
<title>ImageCSS3</title>  
<style>  
p {  
    width: 200px;  
    height: 100px;  
    margin: 10px 5px;  
    border: 1px solid #ddd000;  
}  
#LinearStartToEnd {  
  float:left;  
  background: linear-gradient(#ff0000, #00ff00);  
}  
#LinearPercentage {  
  float:left;  
  background: linear-gradient(#0000ff, #ff0000 52%, #00ff00);  
}  
#LinearAnglePercentage {  
  float:left;  
  background: linear-gradient(90deg, #ff0000 20%, #00ff00 50%, #000000 80%);  
}  
#LinearAngle {  
  float:left;  
  background: linear-gradient(30deg, #ffff00 30%, #ff0000, #00ff00);  
}  
#LinearTopRight {  
  float:left;  
  background: linear-gradient(to right top, #00ff00, #ff0000 50%, #0000ff);  
}  
  
#RadialCenterCircle {  
  float:left;  
    background: radial-gradient(circle at center, #ff0000, #ffff00, #00ffff);  
}  
#RadialClosestSide {  
  float:left;  
    background: radial-gradient(circle closest-side, #ff0000, #00ff00, #ffff00);  
}  
#RadialFarthestSide {  
  float:left;  
    background: radial-gradient(farthest-side, #ff0000 20%, #ffff00 60%, #00ff00 80%);  
}  
#RadialRightTop {  
  float:left;  
    background: radial-gradient(at right top, #ff0000, #ffff00, #00ff00);  
}  
#RadialRadiusCenter {  
  float:left;  
    background: radial-gradient(farthest-side at top right, #ff0000, #ffff00, #01fefe);  
}  
#RadialGroup {  
  float:left;  
    background:  
                radial-gradient(farthest-side at top right, #ff0000, #ffff00, #009f00, transparent),  
                radial-gradient(60px at top left, #ff0000, #ffff00, #00ff0e);  
}  
  
#RepeatingLinearPercentage{  
  float:left;  
    background: repeating-linear-gradient(#ff0000, #00ff00 10%, #000000 15%);  
}  
#RepeatingLinearRight {  
  float:left;  
    background: repeating-linear-gradient(to right, #ff0000, #00ff00 10%, #000000 15%);  
}  
#RepeatingLinearAngle {  
  float:left;  
    background: repeating-linear-gradient(45deg, #ff0000, #00ff00 10%, #0000ff 15%);  
}  
#RepeatingLinearBottomLeft {  
  float:left;  
    background: repeating-linear-gradient(to bottom left, #00ffff, #ff0000 10%, #00ff00 15%);  
}  
  
#RepeatingRadialCircle {  
  float:left;  
    background: repeating-radial-gradient(circle, #ff0000 0, #00ff00 10%, #0000ff 15%);  
}  
#RepeatingRadialTopLeft {  
  float:left;  
    background: repeating-radial-gradient(at top left, #ff0000, #00ff00 10%, #0de0f0 15%, #ffff00 20%, #000000 25%);  
}  
#RepeatingRadialClosestCorner {  
  float:left;  
    background: repeating-radial-gradient(circle closest-corner at 20px 50px, #00ff00, #ff0000 10%, #00ffff 20%, #ffff00 30%, #ff00ff 40%);  
}  
  
</style>  
</head>  
<body>  
<!-- 指定线性渐变起止色 -->  
<p id="LinearStartToEnd"></p>  
<!-- 指定线性渐变起止色位置 -->  
<p id="LinearPercentage"></p>  
<!-- 指定线性渐变颜色渐变方向和起止色位置 -->  
<p id="LinearAnglePercentage"></p>  
<!-- 指定线性渐变颜色渐变方向 -->  
<p id="LinearAngle"></p>  
<!-- 设置渐变从右上到左下 -->  
<p id="LinearTopRight"></p>  
  
<!-- 浮动p换行,此处指定p宽高和边界,是为了覆盖前面定义的p统一CSS样式,  
 可以尝试去掉指定的p宽高和边界,看看效果 -->  
<p style="width:0; height:0; border:none; clear:both"></p>  
<!-- 以中心点为圆心的圆形径向渐变 -->  
<p id="RadialCenterCircle"></p>  
<!-- 径向渐变半径长度:圆心到离圆心最近边的长度 -->  
<p id="RadialClosestSide"></p>  
<!-- 径向渐变半径长度:圆心到离圆心最远边的长度 -->  
<p id="RadialFarthestSide"></p>  
<!-- 左边为径向渐变圆心的横坐标值,顶边为径向渐变圆心的纵坐标值 -->  
<p id="RadialRightTop"></p>  
<!-- 同时指定径向渐变的圆心和半径 -->  
<p id="RadialRadiusCenter"></p>  
<!-- 径向渐变组合 -->  
<p id="RadialGroup"></p>  
  
<p style="width:0; height:0; border:none; clear:both"></p>  
<!-- 指定颜色起止色位置的重复线性渐变 -->  
<p id="RepeatingLinearPercentage"></p>  
<!-- 从左到右渐变的重复线性渐变 -->  
<p id="RepeatingLinearRight"></p>  
<!-- 渐变角度为45度的重复线性渐变 -->  
<p id="RepeatingLinearAngle"></p>  
<!-- 从左下到右上的重复线性渐变 -->  
<p id="RepeatingLinearBottomLeft"></p>  
  
<p style="width:0; height:0; border:none; clear:both"></p>  
<!-- 圆形重复径向渐变 -->  
<p id="RepeatingRadialCircle"></p>  
<!-- 渐变方向为左上到右下的重复径向渐变 -->  
<p id="RepeatingRadialTopLeft"></p>  
<!-- 重复径向渐变:渐变半径长度为从圆心到离圆心最近的角的距离 -->  
<p id="RepeatingRadialClosestCorner"></p>  
  
</body>  
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

如何用CSS实现带阴影效果的黑色导航菜单效果

两种方法用CSS实现背景图尺寸不随浏览器缩放而变化的代码

以上是在CSS3中常用的几种颜色渐变模式的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
两个图像和一个API:我们重新着色产品所需的一切两个图像和一个API:我们重新着色产品所需的一切Apr 15, 2025 am 11:27 AM

我最近找到了一种动态更新任何产品图像的颜色的解决方案。因此,只有一种产品之一,我们可以以不同的方式对其进行着色以显示

每周平台新闻:第三方代码,被动混合内容,连接最慢的国家的影响每周平台新闻:第三方代码,被动混合内容,连接最慢的国家的影响Apr 15, 2025 am 11:19 AM

在本周的综述中,灯塔在第三方脚本上阐明了灯光,不安全的资源将在安全站点上被阻止,许多国家连接速度

托管您自己的非JavaScript分析的选项托管您自己的非JavaScript分析的选项Apr 15, 2025 am 11:09 AM

有很多分析平台可帮助您跟踪网站上的访问者和使用数据。也许最著名的是Google Analytics(广泛使用)

它全部都在头上:管理带有React头盔的React Power Site的文档头它全部都在头上:管理带有React头盔的React Power Site的文档头Apr 15, 2025 am 11:01 AM

文档负责人可能不是网站上最迷人的部分,但是其中所处的内容对于您的网站的成功也一样重要

JavaScript中的Super()是什么?JavaScript中的Super()是什么?Apr 15, 2025 am 10:59 AM

当您看到一些称为super()的JavaScript时,在子类中,您会使用super()调用其父母的构造函数和超级。访问它的

比较不同类型的本机JavaScript弹出窗口比较不同类型的本机JavaScript弹出窗口Apr 15, 2025 am 10:48 AM

JavaScript具有各种内置弹出API,它们显示用于用户交互的特殊UI。著名:

为什么可访问的网站如此难以构建?为什么可访问的网站如此难以构建?Apr 15, 2025 am 10:45 AM

前几天,我与一些前端人们聊天,讲述了为什么这么多公司努力创建可访问的网站。为什么可访问的网站如此艰难

'隐藏”属性显然很弱'隐藏”属性显然很弱Apr 15, 2025 am 10:43 AM

有一个HTML属性,它可以正是您认为应该做的:

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
4 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
4 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
4 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
1 个月前By尊渡假赌尊渡假赌尊渡假赌

热工具

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版