HTML5+CSS3教程:使用SVG高校处理网页图片

2013-06-07 10:12:59  来源:网页教学网 
钱柜娱乐Webjx文章简介:SVG全称是Scalable Vector Graphics,如果你使用过adobe Illustrator的话,相信你对这种适量格式的图片并不陌生!
HTML5/CSS3系列教程:使用SVG图片 在我们开始使用SVG前,让我们先了解一下 SVG,并且解释一下为什么使用SVG。 SVG全称是Scalable Vector Graphics,如果你使用过adobe Illustrator的话,相信你对这种适量格式的图片并不陌生!

为什么使用SVG?

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

浏览器支持

  1. IE8及其更低版本不支持
  2. Android 2.3及其更低版本不支持
  3. 其它浏览器都支持
如果你需要支持这些版本的浏览器的话,你可以使用Modernizr,如下:
if (!Modernizr.svg) {
  $(".gblogo img").attr("src", "images/logo.png");
}
或者使用如下更简单的代码:
<img src="gblogo.svg" onerror="this.onerror=null; this.src="gblogo.png"">

SVG文件作为一般图片使用

你可以作为图片来直接使用,如下:
<img src="logo.svg" alt="gbtags logo">

SVG文件作为背景图片使用

我们也可以使用SVG图片作为背景图片使用,如下:
<a href="http://leskomedia.com/uot;http://www.webjx.com"" class="logo">
  csswang.com
</a>
css代码:
.logo {
  display:
  text-indent:
  width:
  height:
  background:
  background-size:
}

使用行内SVG

你可以直接将SVG代码拷贝到body中,将会看到图片,如下:
<body>    
<!-- 将SVG代码拷贝到此处,将会显示图片  --> 
</body>

使用CSS控制SVG

你可以使用CSS来控制SVG文件,下面代码将控制鼠标悬浮时的图片背景颜色:
<g class="logo" transform="translate(0.000000,500.000000) scale(0.100000,-0.100000)"
fill="#000000" stroke="none">
以上代码定义了一个logo的class,然后我们可以在CSS定义如下:
.logo:hover{
    fill:
    ...
}
注意SVG中我们使用fill而不是background来定义背景色。 甚至可以使用filter来控制模糊度,如下:
.logo:hover{
    fill:
    filter:
}
当你使用鼠标hover图片时,会有如下效果。 在线调试:http://www.gbtags.com/gb/debug/acfcf33e-db11-4b71-bdcb-d38e99fdcef3.htm

SVG相关工具

  1. 在线转SVG工具http://image.online-convert.com/convert-to-svg
  2. 微软的SVG filter效果展示工具:http://ie.microsoft.com/testdrive/graphics/hands-on-css3/hands-on_svg-filter-effects.htm
  3. SVG减肥工具:http://www.mobilefish.com/services/base64/base64.php

总结

SVG是一个非常强大的图片格式,可以帮助你高效的处理图片,拥有比JPG或者PNG更灵活强大的图形展示方式,相信如果加以时日,必定成为最流行的图片处理方式!
更多
钱柜娱乐