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

日期:2013-3-25  来源:GBin1.com

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

在我们开始使用SVG前,让我们先了解一下 SVG,并且解释一下为什么使用SVG

SVG全称是Scalable Vector Graphics,如果你使用过adobe Illustrator的话,相信你对这种适量格式的图片并不陌生!

为什么使用SVG?

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

浏览器支持

  • IE8及其更低版本不支持
  • Android 2.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">

你可以像控制JPG或者PNG格式文件一样,控制图片的大小,如下:

在线调试:http://www.gbtags.com/gb/debug/77d50934-592b-4b8a-b591-e7068c7e38ef.htm

SVG文件作为背景图片使用

我们也可以使用SVG图片作为背景图片使用,如下:

复制代码
<a href="http://www.gbtags.com" class="logo">
  gbtags.com
</a>

CSS:

.logo {
  display: block;
  text-indent: -9999px;
  width: 100px;
  height: 100px;
  background: url(gblogo.svg);
  background-size: 100px 82px;
}
复制代码

使用行内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: #F08000;
    ...
}

注意SVG中我们使用fill而不是background来定义背景色。

甚至可以使用filter来控制模糊度,如下:

.logo:hover{
    fill: #F08000;
    filter: url(#logoFilter);
}

当你使用鼠标hover图片时,会有如下效果。

在线调试:http://www.gbtags.com/gb/debug/acfcf33e-db11-4b71-bdcb-d38e99fdcef3.htm

 SVG相关工具

总结

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

via 极客标签

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

posted @   igeekbar  阅读(22206)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库

中文互联: GBin1.com | RSS订阅 | 邮件订阅 | 手机订阅

点击右上角即可分享
微信分享提示