#### 1、问题描述
在svg绘制了一个面积图,通过渐变及滤镜无法还原成设计稿的样式(线条填充)
#### 2、问题原因
对svg的标签及属性不熟悉,不知道如何实现
#### 3、解决方案
使用pattern标签,里面可以添加任何你想要的图形如(image, rect, ellipse...)
```html
<!-- 垂直渐变 -->
<linearGradient id="grad2" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" style="stop-color:rgb(255,255,0);stop-opacity:1" />
<stop offset="80%" style="stop-color:rgb(255,155,0);stop-opacity:1" />
<stop offset="100%" style="stop-color:rgb(155,0,0);stop-opacity:1" />
</linearGradient>
<!-- SVG图案填充 -->
<defs>
<pattern id="patternFill" x="0" y="0" width="300" height="300" patternUnits="userSpaceOnUse">
<image xlink:href="../images/cat.jpg" width="300" height="400" />
</pattern>
</defs>
<rect x="0" y="600" width="300" height="300" fill="url(#patternFill)" stroke="blue" />
<!-- 线条填充 -->
<defs>
<pattern id="grid" x="20" y="100" width="0.01" height="1" >
<!-- 此处的矩形使用渐变填充 -->
<rect x="0" y="0" width="2" height="300" fill="url(#grad2)" stroke="none"></rect>
</pattern>
</defs>
<!-- 这个矩形会横向平铺 pattern里的矩形-->
<rect x="300" y="0" width="300" height="300" fill="url(#grid)" stroke="blue"></rect>
```
填充效果如下:
![](https://box.kancloud.cn/69b1b6ae297b12e7988cbdd7e34fa1cd_308x304.png)
- 1、前端常用知识点
- 1.1 如何修改input的placeholder
- 1.2 如何修改滚动条默认样式
- 1.3 理解BFC
- 1.4 数字每隔三位加逗号
- 1.4.1 简单粗暴的做法
- 1.4.2 比较常用的方法
- 1.5 D3图表中如何让文字竖着显示
- 1.6 Handlebars模板中如何比较两个值
- 1.7 SVG/D3中字体特殊设置
- 1.8 Handlebars模板中序号从1开始排序
- 1.9 修改checkbox默认样式
- 1.10 D3.js 执行transition动画中断
- 2、执法项目
- 2.1 面积图填充为线条样式
- 2.2 一个paseFloat()方法两分钟就把页面卡死了
- 2.3 开发中常见的细节问题
- 3、迪爱斯项目
- 3.1 热点冰点卡死问题
- 3.2 ifream切换导致内存泄漏
- 3.3 D3文字旋转问题
- 3.4 D3图表提示框位置问题
- 3.5 js如何实现页面iframe事件监听
- 3.6 zTree-jQuery 树插件异步加载如何传参
- 3.7 图易加载无延迟隐藏部分页面组件
- 4、指挥大屏项目
- 4.1 长时间运行chrome浏览器奔溃问题
- 5、PC端指挥项目
- 5.1 地图上各区域添加图表并将图表显示在各区域中心位置
- 5.2 svg里面添加image标签该的width,height属性被压缩问题
- 5.3 地图上添加图表或文字后较小的区域无法钻取
- 5.4 svg添加image元素在谷歌低版本不显示
- 5.5 input输入框记住用户名或密码后样式被浏览器自带的样式覆盖
- 6、运维项目
- 6.1 按键F11页面无法缩放
- 6.2 主页面逆时针旋转的两段弧问题
- 6.3 websocket的close方法不起作用
- 7、汉阳项目
- 8、警务云项目
- 8.1 PKI兼容chrome浏览器问题
- 9、万达项目
- 9.1 直方图中出现数值比刻度值大
- 9.2 D3选择集的处理模版
- 9.3 将数字转化为三分位节法
- 9.4 制作简易X轴
- 10、涪陵项目
- 10.1 IE11部分版本浏览器下滚动条位置不对
- 11、昆明大屏展示
- 11.1第一期五个页面经验汇总
- 11.2防止文本越界
- 11.3SVG里面谨慎设置font-family
- 11.4Error: <rect> attribute height: A negative value is not valid
- 12、技侦动态管控
- 12.1 使用CSS3动画导致页面抖动
- 12.2 使用 digitroll数字滚动插件,给数字加逗号(3位数分隔)
- 13、ES6前端开发框架
- 13.1 打包后部署到Tomcat下访问路径不对
- 14、贵阳项目
- 14.1、关于引用不到saga文件报错的问题
- 15、React前端开发框架
- 15.1 this.refs.xxx获取到的值是undefined
- 15.2 Mockjs与mapbox不兼容
- 15.3 axios联调报跨域错误
- 15.4 saga结合websocket使用方法
- 15.5 打包部署后访问页面白屏