`

HTML5/CSS3教程:使用SVG图片

阅读更多

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

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

为什么使用SVG?

  • 文件非常小

  • 能够无损失的缩放尺寸

  • 在Retina显示屏上效果超棒

  • 能够控制图片样式设计,例如互动和过滤filter

浏览器支持

如果你需要支持这些版本的浏览器的话,你可以使用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图片作为背景图片使用,如下: 精心开发5年的UI前端框架!

<a href="http://www.csswang.com" class="logo">
  csswang.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来定义背景色。精心开发5年的UI前端框架!

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

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

 

 

当你使用鼠标hover图片时,会有如下效果。精心开发5年的UI前端框架!

 

总结

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

0
0
分享到:
评论

相关推荐

    encodeSVG:一个很棒的工具,用于将SVG图片编码为CSS背景图像代码

    此工具是学生时代写前端时候,将SVG图片encode为css background-image的小工具,后面域名已经莫得了,现在估计也没人在用这个工具了,留待以后整理 @todo 迁移到gitee 线上工具地址【传送门】: 用的方便还请给个star...

    cloud:html + css + svg生成一片云

    #cloud html + css + svg生成一片云cloud-shadow.html用box-shadow实现的云text.html用text-shadow方式实现的文字云textblur.html用svg blur方法实现的文字云img.html图片云img1.html和原图对比的图片云cloud-...

    前端资源特效集合免豆下载

    前端资源特效集合免豆下载教程目录:【】基于Bootstrap支持移动端的响应式轮播图效果【】基于CSS3和GSAP的超酷盒子爆炸动画特效【】基于CSS路径剪裁和背景混合模式的炫酷js幻灯片特效【】基于GSAP的响应式全屏背景...

    基于FastAPI和Vue3的Python管理后台设计源码

    主要文件类型包括487个JavaScript文件、248个Vue文件、228个SVG文件、126个Python源文件、125个CSS文件、123个TypeScript文件、100个PNG图片文件、17个JSON文件和15个SCSS文件。该项目是一个快速开发的管理后台,...

    前端工程师手册.pdf

    * CSS 盒模型、CSS 普通流(文档流)、CSS 定位方式、CSS 浮动相关、CSS 选择器、CSS 常见布局、CSS 写作与命名、CSS3 新增特性 * CSS 基线、CSS 动画、前端 UI 框架 Bootstrap 学习指南 JavaScript 基础 * ...

    HTML5 绘制地图方案

    HTML5 绘制地图方案,通过CSS和JS,jvorctmap等。绘制出可以在H5上显示的图片

    gulp-webpack-starter:Gulp Webpack入门-快速的静态网站构建器。 入门人员使用gulp工具包和webpack捆绑程序。 下载以获得令人敬畏的开发经验!

    :octopus:内容清单 :wrapped_gift: 产品特点产品特点描述CSS , ,JS ,实时重载 , ,HTML图片SVG精灵入门? :closed_book: 推荐建议确保已安装以下内容: (建议使用Node.js v10.16.0 ) 或。 在本教程中,我们...

    indie-tools:适用于独立黑客的低成本,高质量工具。您不需要大笔预算就能制作出惊人的东西!

    独立工具非艺术开发人员的资源免费的开源SVG图标免费的图标,音乐,图片,矢量插图。 创建您自己的图标集。 免费3D,等距和抽象图标和表情...-精选HTML和CSS代码示例,教程和文章。 -UI设计灵感。其他选项: , 。 免

    asp.net知识库

    ASP.NET2.0 ObjectDataSource的使用详解(3) ASP.NET2.0 快速入门 ----默认中的主题外观 数据库开发 ADO.NET 通过DataTable获得表的主键 ADO.NET 2.0 操作实例 ADO.NET 2.0 大批量数据操作和多个动态的结果集 ADO...

    image_editor

    贡献者特征建设者image_editor│───README.md │└───public│ │───index.html│ ││ └───image│ └───.svg│└───src│ │───index.js│ │───Route.js│ ││ └───css│ │ │─...

Global site tag (gtag.js) - Google Analytics