学习:使用svg

在网页中使用SVG图片

转载自:http://www.jianshu.com/p/23e8dafc812d

在响应式网页设计中,适用SVG来代替GIF或者PNG图片,可以获得更好的显示效果,更适合在iPad Retina中显示。它是一种矢量图片,不受分辨率的影响。

通常在html中插入图片的方法是如下:

<img src="logo.gif" />

插入SVG图片则使用\<object>,如下面的例子,需要注意的是,如果是IE 8浏览器,我们还是需要fallback原本的GIF或PNG图片。

<object data="img/logo.svg" type="image/svg+xml">
    <a href="img/logo.svg">
        <!-- [ if lte IE 8 ] -->
        <img src="img/logo.gif">
        <!-- [endif] -->
    </a>
</object>

另外,如果你原先在CSS文件中设置了让图片自动响应宽度

img { max-width: 100%; }

你使用的SVG图片则无法实现以上的CSS,因为:

  1. SVG本身有宽度和高度的设定,这是你在AI中制作原始矢量文件是的尺寸,这时我们需要用文本编辑器打开SVG图片,你会看到很多代码,不用管,只需要找到width和height,然删除即可。
  2. SVG文件并不在img标签里

    解决方法
    增加定义object的max-width
    img, object { max-width: 100%; }

阿里巴巴矢量图标http://www.iconfont.cn


时间: 2024-10-07 00:22:13

学习:使用svg的相关文章

SVG 学习&lt;五&gt; SVG动画

先上个动画图 说道SVG动画不得不提到两个属性:stroke-dasharray(这个前面有提到,做虚线的)stroke-dashoffset (这个是关键). 先说说stroke-dasharray 之前提过 可以把线条做成虚线状,值可以为一个数值 也可以是一个数组.详见:SVG 学习<二>进阶 SVG世界,视野,视窗 stroke属性 svg分组 最后一段.在动画里 stroke-dasharray 用来绘制路径或者虚线环绕效果. stroke-dashoffset : 官方解释 svg的

SVG相关学习(一)SVG基础

SVG 相关学习 SVG SVG 指可伸缩矢量图形 (Scalable Vector Graphics) SVG viewBox <svg width="500" height="300"></svg>viewport svg 实际大小 viewBox="x, y, width, height" // x:左上角横坐标,y:左上角纵坐标,width:宽度,height:高度 视区盒子:以视区盒子大小选中元素然后缩放至vie

SVG 学习&lt;八&gt; SVG的路径——path(2)贝塞尔曲线命令、光滑贝塞尔曲线命令

查阅一些关于贝塞尔曲线资料后,对贝塞尔曲线有了大概的了解. 个人对贝塞尔曲线的理解: 二次贝塞尔曲线:由起点.终点和一个控制点控制的范围内绘制的一条曲线: 三次贝塞尔曲线:由起点.终点和两个个控制点控制的范围内绘制的一条曲线: 四次贝塞尔曲线/五次贝塞尔曲线 ... ... 以此类推. 贝塞尔曲线命令 理解了什么是贝塞尔曲线,贝塞尔曲线命令就很好理解了. SVG中只能定义二次 三次贝塞尔曲线 二次贝塞尔曲线:Q x1 y1 x y: x1 y1 定义二次贝塞尔曲线控制点坐标, x y 定义二次贝

SVG 学习&lt;六&gt; SVG的transform

SVG元素也有transform属性,位移.缩放.倾斜.旋转. 这次一次性把代码都贴出来算了. HTML代码 <svg xmlns="http://www.w3.org/2000/svg"> <rect class="No1" /> <rect class="No2" /> <rect class="No3" /> <rect class="No4" /

SVG 学习&lt;七&gt; SVG的路径——path

SVG的path可以理解外一支画笔,由一连串的命令控制画笔在SVG中绘制需要的形状. path通过属性 d 来编写画笔命令. 命令说明: 其中 大写命令坐标是绝对位置,小写命令坐标是相对位置. 直线命令: 例(大写命令): <path d="M10 10,L200 200,V50,H10,L10 10"/> 例(小写命令): <path d="m10 10,l200 200,v50,h10,l10 10"/> 直线命令解析: M/m:移动命令

第三方类库学习笔记:CustomShapeImageView 自定义形状的ImageView

一个两年前出来的第三方类库,具有不限于圆形ImageView的多种形状ImageView,项目开发必备 github下载地址:https://github.com/MostafaGazar/CustomShapeImageView 1.首先源码中有一个第三方类库 :library 先要把Library导入到项目中, 不会的可以看下导入方法:关于Eclipse 和 IDEA 导入library库文件 的步骤 2.源码中res文件夹下有一个raw文件夹 复制到自己的项目中(选择性复制,是一些特殊的图

SVG开发包, 20 个有用的 SVG 工具,提供更好的图像处理

20 个有用的 SVG 工具,提供更好的图像处理 SVG 现正在 Web 设计领域变得越发流行, 你可以使用 Illustrator 或者 Inkscape 来创建 SVG 图像. 但当进行 Web 设计时,我们还需要做一些优化来使得 SVG 变得更加轻量. 下面介绍的 20 个工具,可以帮助你快速有效的创建 SVG 图像.现有的在线工具已经可以帮助我们进行优化.转换.新建模式等工作. 更详细的介绍,参见:How To Create SVG Animation Using CSS 交互式 SVG

前端技术-svg简介与snap.svg.js开源项目的使用

前言-为什么学习snap.svg.js 前阵子webAPP的技术群里有人感觉到svg+animate的形式感觉很炫,矢量图任意放大且不需要下载图片,并且在手机端效果流畅. (矢量图与位图最大的区别是,它不受分辨率的影响.可以任意放大或缩小图形而不会影响出图的清晰度, 可以按最高分辨率显示到输出设备上,位图即相机拍出来的,由像素块组成的图片. svg代码可使用Adobe公司的AI软件导出,该Snap.svg也是Adobe的开源项目) 虽然svg.animate并不新鲜,但由于svg的代码是由PC计

学习 kity 笔记(二)

继续学习 kity. 简要看一个 core/utils.js 和 core/browser.js. == utils.js == 函数 each(array_or_object, callback, context?) 遍历数组或对象, 调用回调. 函数 extend(obj, src...) 扩展 src... 到 obj. 函数 deepExtend() 递归深层的 extend(). (我觉得最好还是别用...) 函数 clone() 浅复制一个对象. 函数 copy() 深度复制对象.

多维度论怎样在日常中提升

.header { cursor: pointer } p { margin: 3px 6px } th { background: lightblue; width: 20% } table { text-align: center; margin-top: 20px; margin-left: 10px; margin-bottom: 20px } a { cursor: pointer; text-decoration: none; color: gray } a:hover { text