`
sungang_1120
  • 浏览: 322192 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类

SVG 渐变学习之——SVG 线性渐变

阅读更多

SVG 渐变必须在 <defs> 标签中进行定义。

SVG 渐变

渐变是一种从一种颜色到另一种颜色的平滑过渡。另外,可以把多个颜色的过渡应用到同一个元素上。

在 SVG 中,有两种主要的渐变类型:

  • 线性渐变
  • 放射性渐变
 

线性渐变

<linearGradient> 可用来定义 SVG 的线性渐变。

<linearGradient> 标签必须嵌套在 <defs> 的内部。<defs> 标签是 definitions 的缩写,它可对诸如渐变之类的特殊元素进行定义。

线性渐变可被定义为水平、垂直或角形的渐变:

  • 当 y1 和 y2 相等,而 x1 和 x2 不同时,可创建水平渐变
  • 当 x1 和 x2 相等,而 y1 和 y2 不同时,可创建垂直渐变
  • 当 x1 和 x2 不同,且 y1 和 y2 不同时,可创建角形渐变

请把下面的代码拷贝到记事本,然后把文件保存为 "linear1.svg"。把此文件放入您的 web 目录:

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" 
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">

<svg width="100%" height="100%" version="1.1"
xmlns="http://www.w3.org/2000/svg">

<defs>
<linearGradient id="orange_red" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" style="stop-color:rgb(255,255,0);
stop-opacity:1"/>
<stop offset="100%" style="stop-color:rgb(255,0,0);
stop-opacity:1"/>
</linearGradient>
</defs>

<ellipse cx="200" cy="190" rx="85" ry="55"
style="fill:url(#orange_red)"/>

</svg>

 

代码解释:

  • <linearGradient> 标签的 id 属性可为渐变定义一个唯一的名称
  • fill:url(#orange_red) 属性把 ellipse 元素链接到此渐变
  • <linearGradient> 标签的 x1、x2、y1、y2 属性可定义渐变的开始和结束位置
  • 渐变的颜色范围可由两种或多种颜色组成。每种颜色通过一个 <stop> 标签来规定。offset 属性用来定义渐变的开始和结束位置。

另一个例子:

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" 
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">

<svg width="100%" height="100%" version="1.1"
xmlns="http://www.w3.org/2000/svg">

<defs>
<linearGradient id="orange_red" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" style="stop-color:rgb(255,255,0);
stop-opacity:1"/>
<stop offset="100%" style="stop-color:rgb(255,0,0);
stop-opacity:1"/>
</linearGradient>
</defs>

<ellipse cx="200" cy="190" rx="85" ry="55"
style="fill:url(#orange_red)"/>

</svg>

 

分享到:
评论

相关推荐

    SVG矢量图语言学习资料(pdf)

    2. **渐变**:SVG支持线性渐变(`linearGradient`)和径向渐变(`radialGradient`),为图形添加丰富的视觉效果。 3. **样式表**:可以使用内联样式或外部样式表(`&lt;style&gt;`元素)来管理SVG元素的样式,类似于CSS。 ...

    SVG.Colors.Patterns.Gradients.2015.10.pdf

    本书《SVG颜色、图案与渐变》深入探讨了SVG的一个特定方面——绘制技术,通过详细的指导和实例,帮助读者掌握如何利用SVG来创建丰富多彩的矢量图形。 #### SVG渲染模型与绘制基础 - **渲染模型**:首先,了解SVG...

    渐变色标类

    2. **线性渐变与径向渐变**:渐变色标类通常支持两种主要的渐变类型——线性渐变和径向渐变。线性渐变沿一个方向进行颜色变化,而径向渐变则以圆心为中心向外扩散颜色。 3. **颜色空间与颜色模式**:此类支持不同的...

    CSS3+SVG实现的分层大理岩旋转金字塔动画效果源码.zip

    SVG线性渐变或径向渐变可以创造出大理石的纹理,通过调整颜色节点和角度,模拟出大理石特有的质感。另外,SVG图案可以复用小图形,形成重复的纹理,这样可以在不增加文件大小的情况下创建复杂的背景或装饰元素。 ...

    好看的网页背景渐变图片---很好看哦!!

    例如,创建一个从左到右的线性渐变: ```css background: linear-gradient(to right, #ff0000, #00ff00); ``` 2. 颜色选择:考虑品牌色彩、网页内容和用户预期,选择恰当的颜色组合。 3. 渐变角度:调整渐变角度可以...

    css3+SVG实现低多边形带礼帽的纸鹤先生图案源码.zip

    3. **渐变(Gradients)**: CSS3支持线性渐变和径向渐变,可以创建平滑的颜色过渡效果,用于纸鹤的色彩填充。 4. **阴影(Shadows)**: `box-shadow`和`text-shadow`属性用于添加元素的投影,增强视觉深度感,可能...

    CSS3+SVG实现由众多三角形组成的灯泡图形动画效果源码.zip

    2. **边框和背景**:CSS3允许使用圆角边框(`border-radius`)、线性渐变(`linear-gradient`)、径向渐变(`radial-gradient`)和多边形边框(通过`clip-path`或`mask`实现)等,为设计提供更多的灵活性。...

    CSS制作悬停渐变菜单

    2. **渐变效果**:CSS提供了两种类型的渐变——线性渐变(linear-gradient)和径向渐变(radial-gradient)。线性渐变沿着一个方向平滑地过渡颜色,而径向渐变则从一个圆心点向周围扩散颜色。在悬停菜单中,我们通常...

    HTML5 SVG和CSS3制作动态文字遮罩背景特效.docx

    背景由两个交叉的线性渐变组成,形成红色小点的图案。这些小点在鼠标悬停时会做水平移动的动画,通过CSS3的`@keyframes`规则定义了一个名为`cAnim`的动画,动画改变的是背景位置`background-position`。同时,SVG的...

    HTML——彩虹马 特效.rar

    2. 用CSS为马设计样式,包括彩虹色的外观,可能通过线性或径向渐变来实现颜色的过渡。 3. 使用JavaScript控制马的动画效果,例如通过改变元素的位置、透明度或颜色来模拟奔跑或变换颜色的动作。 4. 可能还会使用到...

    绿色渐变人欧美商务企业模板-绿色 欧美 企业 渐变 css.rar

    描述"绿色渐变人欧美商务企业模板_绿色 欧美 企业 渐变 css.rar"是对标题的补充,进一步强调了模板的主题——绿色渐变设计,适合欧美企业的商务环境。这可能意味着模板在色彩选择、排版和元素设计上符合西方审美和...

    蓝色渐变商务CSS模板下载-蓝色 建筑.rar

    2. 渐变效果:在CSS中,可以通过线性渐变(linear-gradient)或径向渐变(radial-gradient)来创建颜色过渡效果,这在设计中常用于背景、按钮、边框等,为界面增添动态感。 3. 商务模板:这类模板通常设计简洁、...

    安卓Andriod源码——drawable(图片).zip

    3. **颜色渐变**:GradientDrawable允许创建线性、径向或角度颜色渐变。这对于创建自定义背景或图层很有用。 4. **形状绘制**:Android支持矩形、椭圆、线和路径等基本形状的绘制。开发者可以通过shape标签定义填充...

    基于CSS3的按钮图形 含有多种颜色风格 代码共享.zip

    2. **渐变**:CSS3提供了两种类型的渐变——线性渐变(`linear-gradient`)和径向渐变(`radial-gradient`)。通过这些渐变,我们可以创建出颜色过渡自然的按钮背景,增加按钮的层次感和吸引力。 3. **阴影**:`box...

    网页模板——炫酷CSS3动画库效果wickedCSS.zip

    5. **背景渐变(Background Gradients)**:可以创建线性或径向的渐变背景,提升设计的质感和深度。 6. **阴影(Box Shadows & Text Shadows)**:为元素添加阴影效果,使其看起来有立体感,或者为文本添加阴影,...

    纯CSS3绘制的火龙图像动画特效源码.zip

    7. **颜色与渐变**:CSS3提供了丰富的颜色和渐变选项,包括线性渐变、径向渐变等,使得火龙的皮肤纹理和环境背景更富有层次感。 通过对源码的深入研究,我们可以学习到如何巧妙地组合这些CSS3特性,创造出引人入胜...

    html5的使用

    - **渐变效果**:包括线性渐变和扇形渐变。 - **`fillText()`**和**`strokeText()`**:用于绘制文字。 这些方法使得开发者可以通过JavaScript在网页上进行复杂的图形绘制。 #### 五、SVG矢量图 ##### 1. SVG简介 ...

    布纹背景CSS创意模板

    在创建布纹背景时,CSS3引入了新的背景属性,如`background-image`,可以设置为线性渐变(`linear-gradient`)、径向渐变(`radial-gradient`)或者使用图片URL,实现复杂纹理效果。例如: ```css body { background-...

    12个超赞的CSS按钮,绝对的震撼

    2. 渐变:CSS3中的线性渐变(linear-gradient)和径向渐变(radial-gradient)允许设计师创建从一种颜色平滑过渡到另一种颜色的效果,为按钮提供更加丰富的视觉体验。 3. 阴影:box-shadow属性可以为按钮添加深度感...

    精通CSS--DIV网页样式

    - **渐变与阴影**:掌握线性渐变、径向渐变和文字阴影的用法,提升视觉效果。 - **响应式设计**:使用媒体查询(`media queries`)实现不同设备和屏幕尺寸下的样式适配。 4. **DIV布局** - **DIV基本概念**:...

Global site tag (gtag.js) - Google Analytics