html5中文学习网

您的位置: 首页 > html5资讯 > 最新资讯 » 正文

HTML5/CSS3系列教程:使用SVG图片

[ ] 已经帮助:人解决问题

HTML5/CSS3系列教程:使用SVG图片 KP9HTML5中文学习网 - HTML5先行者学习网

在我们开始使用SVG前,让我们先了解一下 SVG,并且解释一下为什么使用SVG。KP9HTML5中文学习网 - HTML5先行者学习网

SVG全称是Scalable Vector Graphics,如果你使用过adobe Illustrator的话,相信你对这种适量格式的图片并不陌生!KP9HTML5中文学习网 - HTML5先行者学习网

为什么使用SVG?KP9HTML5中文学习网 - HTML5先行者学习网

  • 文件非常小
  • 能够无损失的缩放尺寸
  • 在Retina显示屏上效果超棒
  • 能够控制图片样式设计,例如互动和过滤filter

浏览器支持KP9HTML5中文学习网 - HTML5先行者学习网

  • IE8及其更低版本不支持
  • Android 2.3及其更低版本不支持
  • 其它浏览器都支持

如果你需要支持这些版本的浏览器的话,你可以使用Modernizr,如下:KP9HTML5中文学习网 - HTML5先行者学习网

if (!Modernizr.svg) {KP9HTML5中文学习网 - HTML5先行者学习网

$(“.gblogo img”).attr(“src”, “images/logo.png”);KP9HTML5中文学习网 - HTML5先行者学习网

}KP9HTML5中文学习网 - HTML5先行者学习网

或者使用如下更简单的代码:KP9HTML5中文学习网 - HTML5先行者学习网

<img src=“gblogo.svg” onerror=“this.onerror=null; this.src=”gblogo.png“”>KP9HTML5中文学习网 - HTML5先行者学习网

SVG文件作为一般图片使用KP9HTML5中文学习网 - HTML5先行者学习网

KP9HTML5中文学习网 - HTML5先行者学习网

你可以作为图片来直接使用,如下:KP9HTML5中文学习网 - HTML5先行者学习网

<img src=“logo.svg” alt=“gbtags logo”>KP9HTML5中文学习网 - HTML5先行者学习网

你可以像控制JPG或者PNG格式文件一样,控制图片的大小,如下:KP9HTML5中文学习网 - HTML5先行者学习网

在线调试:http://www.gbtags.com/gb/debug/77d50934-592b-4b8a-b591-e7068c7e38ef.htmKP9HTML5中文学习网 - HTML5先行者学习网

SVG文件作为背景图片使用KP9HTML5中文学习网 - HTML5先行者学习网

我们也可以使用SVG图片作为背景图片使用,如下:KP9HTML5中文学习网 - HTML5先行者学习网

<a href=“http://www.gbtags.com” class=“logo”>KP9HTML5中文学习网 - HTML5先行者学习网

gbtags.comKP9HTML5中文学习网 - HTML5先行者学习网

</a>KP9HTML5中文学习网 - HTML5先行者学习网

CSS:KP9HTML5中文学习网 - HTML5先行者学习网

.logo {KP9HTML5中文学习网 - HTML5先行者学习网

display: block;KP9HTML5中文学习网 - HTML5先行者学习网

text-indent: -9999px;KP9HTML5中文学习网 - HTML5先行者学习网

width: 100px;KP9HTML5中文学习网 - HTML5先行者学习网

height: 100px;KP9HTML5中文学习网 - HTML5先行者学习网

background: url(gblogo.svg);KP9HTML5中文学习网 - HTML5先行者学习网

background-size: 100px 82px;KP9HTML5中文学习网 - HTML5先行者学习网

}KP9HTML5中文学习网 - HTML5先行者学习网

使用行内SVGKP9HTML5中文学习网 - HTML5先行者学习网

你可以直接将SVG代码拷贝到body中,将会看到图片,如下:KP9HTML5中文学习网 - HTML5先行者学习网

<body>KP9HTML5中文学习网 - HTML5先行者学习网

<!-- 将SVG代码拷贝到此处,将会显示图片 -->KP9HTML5中文学习网 - HTML5先行者学习网

</body>KP9HTML5中文学习网 - HTML5先行者学习网

使用CSS控制SVGKP9HTML5中文学习网 - HTML5先行者学习网

你可以使用CSS来控制SVG文件,下面代码将控制鼠标悬浮时的图片背景颜色:KP9HTML5中文学习网 - HTML5先行者学习网

<g class=“logo” transform=“translate(0.000000,500.000000) scale(0.100000,-0.100000)”KP9HTML5中文学习网 - HTML5先行者学习网

fill=“#000000” stroke=“none”>KP9HTML5中文学习网 - HTML5先行者学习网

以上代码定义了一个logo的class,然后我们可以在CSS定义如下:KP9HTML5中文学习网 - HTML5先行者学习网

.logo:hover{KP9HTML5中文学习网 - HTML5先行者学习网

fill: #F08000;KP9HTML5中文学习网 - HTML5先行者学习网

....KP9HTML5中文学习网 - HTML5先行者学习网

}KP9HTML5中文学习网 - HTML5先行者学习网

注意SVG中我们使用fill而不是background来定义背景色。KP9HTML5中文学习网 - HTML5先行者学习网

甚至可以使用filter来控制模糊度,如下:KP9HTML5中文学习网 - HTML5先行者学习网

.logo:hover{KP9HTML5中文学习网 - HTML5先行者学习网

fill: #F08000;KP9HTML5中文学习网 - HTML5先行者学习网

filter: url(#logoFilter);KP9HTML5中文学习网 - HTML5先行者学习网

}KP9HTML5中文学习网 - HTML5先行者学习网

当你使用鼠标hover图片时,会有如下效果。KP9HTML5中文学习网 - HTML5先行者学习网

KP9HTML5中文学习网 - HTML5先行者学习网

在线调试:http://www.gbtags.com/gb/debug/acfcf33e-db11-4b71-bdcb-d38e99fdcef3.htmKP9HTML5中文学习网 - HTML5先行者学习网

SVG相关工具KP9HTML5中文学习网 - HTML5先行者学习网

在线转SVG工具:http://image.online-convert.com/convert-to-svgKP9HTML5中文学习网 - HTML5先行者学习网

微软的SVG filter效果展示工具:http://ie.microsoft.com/testdrive/graphics/hands-on-css3/hands-on_svg-filter-effects.htmKP9HTML5中文学习网 - HTML5先行者学习网

SVG减肥工具:http://www.mobilefish.com/services/base64/base64.phpKP9HTML5中文学习网 - HTML5先行者学习网

总结KP9HTML5中文学习网 - HTML5先行者学习网

SVG是一个非常强大的图片格式,可以帮助你高效的处理图片,拥有比JPG或者PNG更灵活强大的图形展示方式,相信如果加以时日,必定成为最流行的图片处理方式!KP9HTML5中文学习网 - HTML5先行者学习网

(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助