参考:https://blog.csdn.net/u012260672/article/details/80905631

对x1=x2(没有宽度)或者y1=y2(没有高度)的直线(line以及path,如果,stroke里使用的是渐变效果,那么,在各种浏览器上都会出现同一个BUG,这条线会消失。关键字objectBoundingBox这玩意儿,在元素没有宽度或者高度的时候,会失去作用。linearGradient渐变又依赖这个属性,所以渐变就会失效。

解决方案很简单,为linearGradient加上属性gradientUnits=”userSpaceOnUse”

gradientUnits是用于规定元素的坐标系统的,有两个属性值userSpaceOnUse和objectBoundingBox,后者是默认值。

<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="499" height="2">
<defs>
<!-- 水平渐变 -->
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="0%" gradientUnits="userSpaceOnUse">
<stop offset="0%" stop-color="red" stop-opacity="1" />
<stop offset="100%" style="stop-color:yellow;stop-opacity:1;" />
</linearGradient>
</defs>
<!-- 直线水平渐变 -->
<line x1="0" y1="0" x2="499" y2="0" style="stroke-width:2;" stroke="url(#grad)"/>
</svg> <svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="499" height="2">
<defs>
<!-- 水平渐变 -->
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="red" stop-opacity="1" />
<stop offset="100%" style="stop-color:yellow;stop-opacity:1;" />
</linearGradient>
</defs>
<!-- 直线水平渐变 -->
<!-- 如果没有 gradientUnits="userSpaceOnUse"属性,x1=x2或者y1=y2会消失线条,只可以画斜线的渐变 -->
<line x1="0" y1="1" x2="499" y2="2" style="stroke-width:2;" stroke="url(#grad)"/>
</svg>

svg 直线水平渐变为什么没有效果,必须得是一条倾斜的不水平的直线才有渐变效果呢??的更多相关文章

  1. SVG颜色、渐变和填充

    颜色 RGB和HSL都是CSS3支持的颜色表示方法,一般普遍使用是RGB.PS:HSL浏览器兼容. RGB RGB即是代表红.绿.蓝三个通道的颜色,通过对红(R).绿(G).蓝(B)三个颜色通道的变化 ...

  2. SVG 学习<三>渐变

    目录 SVG 学习<一>基础图形及线段 SVG 学习<二>进阶 SVG世界,视野,视窗 stroke属性 svg分组 SVG 学习<三>渐变 SVG 学习<四 ...

  3. 25个CSS3 渐变和动画效果教程

    随着最新版CSS3渐变和动画功能发布,Web开发者在开发的过程中有了更多的选择.实际上,已经有了一些替代的技术,目的都是使网站的建设变得简易,高效和快速.不过CSS3所提供的渐变功能有着显著的优点,特 ...

  4. 【转】CSS实现兼容性的渐变背景(gradient)效果

    一.有点俗态的开场白 要是两年前,实现“兼容性的渐变效果”这个说法估计不会被提出来的,那个时候,说起渐变背景,想到的多半是IE的渐变滤镜,其他浏览器尚未支持,但是,在对CSS3支持日趋完善的今天,实现 ...

  5. jQuery支持mobile的全屏水平横向翻页效果

    这是一款支持移动手机mobile设备的jQuery全屏水平横向翻页效果插件. 该翻页插件能够使页面在水平方向上左右全屏翻动,它支持手机触摸屏,支持使用鼠标滚动页面. 整个页面过渡平滑,效果很不错. 在 ...

  6. html5 canvas 奇怪的形状水平渐变(因为大多数的之前的文章把基础都打过了,所以开始写的快了,如果有不明白的,可以回顾下之前的)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. html5 canvas 水平渐变描边

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. 第161天:CSS3实现兼容性的渐变背景(gradient)效果

    CSS实现兼容性的渐变背景(gradient)效果 一.有点俗态的开场白 在对CSS3支持日趋完善的今天,实现兼容性的渐变背景效果已经完全成为可能,本文就将展示如何实现兼容性的渐变背景效果.在众多的浏 ...

  9. Android BGradualProgress 多种渐变、直角or弧角、进度条、加载条

    可实现多种渐变.直角or弧角.进度条.加载条 (Various gradient, right or arc angle, progress bar and loading bar can be re ...

随机推荐

  1. 使用Visual Studio Code编辑Processing

    最近想弄Sublime Text 3写Processing,但由于各种不知名原因导致无法编译,就想着换自去年以来超火的VScode试一下,还真给我试成功了. 1.下载https://code.visu ...

  2. cesium地下模式(地表透明)2

    接上一篇博客,这篇直接分析火星的源码,看它到底改了些什么. 注意:在cesium1.63.1版本改变了模块化方式,由AMD改为ES6模块化.注意引入文件加载模块时做出对应修改. 1.火星代码里修改了4 ...

  3. linux修改/etc/profile权限

    修改/etc/profile时提示为只读文件,不允许修改, 敲#chmod 777 /etc/profile后仍不允许修改 解决办法: 在root权限下敲 #:mount -o remount,rw ...

  4. jmeter(四十六)参数化与断言实战

    概述 今天用jmeter做一次参数化实战.通过计数器遍历参数表,然后查询jdbc进行beanshell断言. 涉及元件 用户参数,计数器,正则表达式,jdbc,beanshell脚本 详细过程 在我们 ...

  5. vs2010怎么更改调试时使用的浏览器

    在当前网站的起始网页上右击,在右击菜单中选择 浏览方式 步骤阅读 2

  6. Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization

    Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization 2019-10-10 10:50:19 Paper ...

  7. Kafka集群管理工具kafka-manager

    一.kafka-manager简介 kafka-manager是目前最受欢迎的kafka集群管理工具,最早由雅虎开源,用户可以在Web界面执行一些简单的集群管理操作.具体支持以下内容: 管理多个集群 ...

  8. 关于Android Studio3.2新建项目无法运行出现Failed to find Build Tools revision 28.0.3的解决方法

    关于Android Studio3.2新建项目无法运行出现Failed to find Build Tools revision 28.0.3的解决方法 https://blog.csdn.net/h ...

  9. Selenium+Java完整框架搭建(2019完整版)

    一.WebDriver框架开发实战 1.框架的思想 (1)什么是框架? 框架是可以被应用开发者定制的应用骨架 (2)为什么要写框架? 提高脚本可维护性 提高编写脚本的速度 提高脚本可阅读性 (3)框架 ...

  10. Python 处理异常栈模块——traceback 模块

    异常捕捉 通常我们在项目中,针对异常的捕捉会使用 try + except,基本形式如下: try: # 主代码 except IndexError as e: # 索引异常时执行这里 logger. ...