【HTML5-基础-SVG实践】
关于svg
HTML页面常用加载svg图片方式:
- HTML元素
// data 和 type 至少指定一项
<object data = './public/icon.svg' width='20' height='20' name='svg' type='image/svg+xml' usemap="#nameOfMap" ></object>
- HTML元素(不推荐)
- iframe
<iframe src="./location-1.svg" frameborder="0" style="background-color: #666;"></iframe>
- HTML
元素
- CSS[background-image]属性
react-svg
在react项目中使用svg,建议使用react-svg.
react-svg即一个封装后的React组件。它的目的在于利用SVGinjector把SVG添加到DOM中。
import React from 'react';
import ReactDOM from 'react-dom';
import ReactSVG from 'react-svg';
ReactDOM.render(
<ReactSVG
path="atomic.svg"
callback={svg => console.log(svg)}
className="class-name"
wrapperClassName="wrapper-class-name"
/>,
document.querySelector('.Root')
);
在实际开发中,使用上面的方法插入svg同样繁琐。利用react-svg-loader插件可以简化上述过程:
// 不使用webpack
import Image1 from 'react-svg-loader!./image1.svg';
// 使用webpack配置了react-svg-loader
import Image2 from './image1.svg';
// 像普通react组件那样使用它, react-svg-loader会在自动将它替换为DOM
<Image1 width={50} height={50}/>
<Image2 width={50} height={50}/>
webpack中设置:
{
test: /\.svg$/,
use: [
{loader: 'babel-loader'}
{
loader: 'react-svg-loader'
}
]
}
react-svg-loader内部流程
输入svg -> 使用SVGO进行SVG优化 -> 编译转换
因此webpack中可以配置SVGO参数
{
test: /\.svg$/,
use: [
{loader: 'babel-loader'}
{
loader: 'react-svg-loader',
options:{
svgo: [
{
removeTitle: false
}
]
}
}
]
}
其他
【HTML5-基础-SVG实践】的更多相关文章
- html5 基础入门
html5 基础入门 前言介绍 HTML5草案的前身名为 Web Applications 1.0,于2004年被WHATWG提出,于2007年被W3C接纳,并成立了新的 HTML工作团队. 如果从狭 ...
- HTML5 基础测试题
HTML5 基础测试题 1.HTML5 之前的 HTML 版本是什么?() A.HTML 4.01 B.HTML 4 C.HTML 4.1 D.HTML 4.9 2.HTML5 的正确 d ...
- 突袭HTML5之SVG 2D入门1 - SVG综述////////////////zzzzzzzz
以二次贝塞尔曲线的公式为例: js函数: //p0.p1.p2三个点,其中p0为起点,p2为终点,p1为控制点 //它们的坐标用数组表示[x,y] //t的范围是0-1 function qBerzi ...
- HTML5实战——svg学习
百度百科: SVG可缩放矢量图形(Scalable Vector Graphics)是基于可扩展标记语言(XML),用于描述二维矢量图形的一种图形格式.SVG是W3C制定的一种新的二维矢量图形格式,也 ...
- html5基础的常用的技巧
html5基础的常用的技巧 1. 新的Doctype声明 XHTML的声明太长了,我相信很少会有前端开发人员能手写出这个Doctype声明. <!DOCTYPE html PUBLIC &quo ...
- HTML5基础知识及相关笔记
HTML5基础 1.1HTML文件的基本结构和W3C标准 1.1.1HTML简介 HTML是一种描述网页的语言,一种超文本标记的语言! 1.1.2HTML文件的基本结构 头部(head) 头部是网页的 ...
- MSF基础攻击实践报告
MSF基础攻击实践 MSF的六个模块:exploit,encoder,payload,aux,post,nops exploit——渗透攻击模块 测试者利用它来攻击一个系统,程序,或服务,以获得开发者 ...
- HTML5基础——笔记
HTML5基础——笔记 近几年来,互联网+.大数据.云计算‘物联网‘虚拟现实‘人工智能.机器学习.移动互联网等IT相关新名词.新概念层出不穷,相关产业发展如火如荼.互联网+移动互联网已经深入到人民日常 ...
- 原创 HTML5:JS操作SVG实践体会
在工业信息化系统里,常常需要动态呈现系统的数据在一张示意图里,用于展现系统状态,分析结果等.这样用JavaScript操作svg 元素就有现实意义.本人近期做了一些实践,现分享一下. 需求: 你下面这 ...
- HTML5学习--SVG全攻略(基础篇)
明天高级篇 一.什么是SVG? SVG 指的是可伸缩矢量图形 (Scalable Vector Graphics),它用来定义用于网络的基于矢量的图形,使用 XML 格式定义图形.SVG 图像在放大或 ...
随机推荐
- BaseActivity
package com.glandroid.smssender; import android.content.DialogInterface; import android.content.pm.P ...
- js实现toFixed截取效果
Number.prototype.toFixed = function(fractionDigits) { ; || f > ) { throw new RangeError("Pre ...
- js 数组转json,json转数组
//数组转json串var arr = [1,2,3, { a : 1 } ];JSON.stringify( arr ); //json字符串转数组var jsonStr = '[1,2,3,{&q ...
- C++ 多线程编程实例【2个线程模拟卖火车票的小程序】
原文:http://blog.csdn.net/chen825919148/article/details/7904219 核心提示:从网上搜集来的非常基础的C++多线程实例,刚入门的可以看看,希望能 ...
- Java 设计模式(三)-单例模式(Singleton Pattern)
1 概念定义 1.1 定义 确保一个类只有一个实例,而且自行实例化并向整个系统提供这个实例. 1.2 类型 创建类模式 1.3 难点 1)多个虚拟机 当系统中的单例类被拷贝运行在多 ...
- yum 安装LAMP
一.安装 MySQL 首先来进行 MySQL 的安装.打开超级终端,输入: [root@localhost ~]# yum install mysql mysql-server 安装完毕,让 MySQ ...
- java笔记--正则表达式的运用(包括电话,邮箱验证等)
正则表达式 --如果朋友您想转载本文章请注明转载地址"http://www.cnblogs.com/XHJT/p/3877402.html "谢谢-- 正则表达式符号:" ...
- c#微信开发,使用JS-SDK自定义分享功能,分享朋友圈,分享给朋友等
如果一个后端开发掌握了微信开发,甚至有微信开发上线项目,这在换工作的时候 还是有竞争力的. 微信开发的资料很多,但是用asp.net c#进行微信开发好像比较少,或者资料不够完整. 使用JS-SDK自 ...
- HAProxy负载均衡保持客户端和服务器Session亲缘性的3种方式
1 用户IP 识别 haroxy 将用户IP经过hash计算后 指定到固定的真实服务器上(类似于nginx 的IP hash 指令) 配置指令: balance source 配置实例: backe ...
- css动画 文字闪烁效果
/*定义页面基础CSS*/ body{ font-family: 'microsoft yahei',Arial,sans-serif; color: #EFEFEF; background: #22 ...