SVG入门

时间:14-04-04 栏目:web前端 作者:zongyan86 评论:0 点击: 3,096 次

svg简介

SVG 指可伸缩矢量图形 (Scalable Vector Graphics)[1]
SVG 用来定义用于网络的基于矢量的图形
SVG 使用 XML 格式定义图形
SVG 图像在放大或改变尺寸的情况下其图形质量不会有所损失
SVG 是万维网联盟的标准
SVG 与诸如 DOM 和 XSL 之类的 W3C 标准是一个整体

svg优势

与其他图像格式相比(比如 JPEG 和 GIF),使用 SVG 的优势在于:
SVG 图像可通过文本编辑器来创建和修改
SVG 图像可被搜索、索引、脚本化或压缩
SVG 是可伸缩的
SVG 图像可在任何的分辨率下被高质量地打印
SVG 可在图像质量不下降的情况下被放大

svg使用

<!DOCTYPE html>
<svg width="100%" height="100%" version="1.1" xmlns="http://www.w3.org/2000/svg">
    <rect width="300" height="100" style="fill:red; stroke-width:10; stroke:#ccc"/>
</svg>

矩形

<!DOCTYPE html>
<svg width="100%" height="100%" version="1.1" xmlns="http://www.w3.org/2000/svg">
    <circle cx="100" cy="50" r="40" stroke="black" stroke-width="2" fill="red"/>
</svg>

文字与动画

<!DOCTYPE html>

<svg width="100%" height="100%" version="1.1" xmlns="http://www.w3.org/2000/svg">

<rect id="rec" x="300" y="100" width="300" height="100" style="fill:lime"> 
    <animate attributeName="x" attributeType="XML" begin="0s" dur="6s" fill="freeze" from="300" to="0"/> 
    <animate attributeName="y" attributeType="XML" begin="0s" dur="6s" fill="freeze" from="100" to="0"/> 
    <animate attributeName="width" attributeType="XML" begin="0s" dur="6s" fill="freeze" from="300" to="800"/> 
    <animate attributeName="height" attributeType="XML" begin="0s" dur="6s" fill="freeze" from="100" to="300"/> 
    <animateColor attributeName="fill" attributeType="CSS" from="lime" to="red" begin="2s" dur="4s" fill="freeze"/>
</rect>

<g transform="translate(100,100)"> 
    <text id="TextElement" x="0" y="0" style="font-family:Verdana;font-size:30; visibility:hidden"> Hello SVG!
        <set attributeName="visibility" attributeType="CSS" to="visible" begin="1s" dur="5s" fill="freeze"/>
        <animateMotion path="M 0 0 L 100 100" begin="1s" dur="5s" fill="freeze"/>
        <animateColor attributeName="fill" attributeType="CSS" from="red" to="blue" begin="1s" dur="5s" fill="freeze"/> 
        <animateTransform attributeName="transform" attributeType="XML" type="rotate" from="-30" to="0" begin="1s" dur="5s" fill="freeze"/> 
        <animateTransform attributeName="transform" attributeType="XML" type="scale" from="1" to="3" additive="sum" begin="1s" dur="5s" fill="freeze"/> 
    </text> 
</g>

</svg>

嵌入方式:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>svg嵌入方式</title>
</head>
<body>
<dl>
    <dt>embed嵌入</dt>
    <dd><embed width="800" height="310" src="hello.svg" type="image/svg+xml" pluginspage="http://www.adobe.com/svg/viewer/install/" /></dd>
</dl>

<dl>
    <dt>iframe嵌入</dt>
    <dd><iframe width="800" height="310" src="hello.svg" frameborder="0"></iframe></dd>
</dl>
</body>
</html>

在web开发的领域,随着html5的兴起,svg无疑是一种大趋势。web开发分享



声明: 本文由( zongyan86 )原创编译,转载请保留链接: SVG入门

关注我们