在线
客服

在线客服
尊敬的客户,我们24小时竭诚为您服务 公司总机: 0755-83312037 (32条线)

客服
热线

0755-83312037 (32条线)
7*24小时客服服务热线

?

关注
微信

关注官方微信
TOP

返回
顶部

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

发布时间:2019-04-13浏览次数:990 <p> </p> <table style="BORDER-RIGHT: #cccccc 1px dotted; TABLE-LAYOUT: fixed; BORDER-TOP: #cccccc 1px dotted; BORDER-LEFT: #cccccc 1px dotted; BORDER-BOTTOM: #cccccc 1px dotted" cellspacing="0" cellpadding="6" width="95%" align="center" border="0"><tbody><tr> <td style="WORD-WRAP: break-word" bgcolor="#fdfddf"> <font color="#ff0000">网页制作Webjx文章简介:</font><font color="#000000">SVG全称是Scalable Vector Graphics,如果你使用过adobe Illustrator的话,相信你对这种适量格式的图片并不陌生!</font> </td> </tr></tbody></table> <p><img class="aligncenter" alt="HTML5/CSS3系列教程:使用SVG图片 " src="http://www.webjx.com/files/allimg/130607/1020120.jpg"></p> <p>在我们开始使用SVG前,让我们先了解一下&#160;SVG,并且解释一下为什么使用SVG。</p> <p>SVG全称是Scalable Vector Graphics,如果你使用过adobe&#160;Illustrator的话,相信你对这种适量格式的图片并不陌生!</p> <h2>为什么使用SVG?</h2> <ul> <li>文件非常小 </li> <li>能够无损失的缩放尺寸 </li> <li>在Retina显示屏上效果超棒 </li> <li>能够控制图片样式设计,例如互动和过滤filter </li> </ul> <h2>浏览器支持</h2> <ul> <li>IE8及其更低版本不支持 </li> <li>Android 2.3及其更低版本不支持 </li> <li>其它浏览器都支持 </li> </ul> <p>如果你需要支持这些版本的浏览器的话,你可以使用Modernizr,如下:</p> <div> <div class="syntaxhighlighter notranslate javascript ie" id="highlighter_878914"> <div class="toolbar"><span></span></div> <table border="0" cellspacing="0" cellpadding="0"><tbody><tr> <td class="code"> <div class="container"> <div class="line number1 index0 alt2">if (!Modernizr.svg) { </div> <div class="line number2 index1 alt1">&#160;&#160;$(".gblogo img").attr("src", "images/logo.png"); </div> <div class="line number3 index2 alt2">}</div> </div> </td> </tr></tbody></table> </div> </div> <p>或者使用如下更简单的代码:</p> <div> <div class="syntaxhighlighter notranslate xhtml ie" id="highlighter_419998"> <div class="toolbar"><span></span></div> <table border="0" cellspacing="0" cellpadding="0"><tbody><tr> <td class="code"> <div class="container"> <div class="line number1 index0 alt2">&lt;img src="gblogo.svg" onerror="this.onerror=null; this.src="gblogo.png""&gt;</div> </div> </td> </tr></tbody></table> </div> </div> <h2>SVG文件作为一般图片使用</h2> <p><img class="aligncenter" alt="" src="http://www.webjx.com/files/allimg/130607/1020121.jpg"></p> <p>你可以作为图片来直接使用,如下:</p> <div> <div class="syntaxhighlighter notranslate xhtml ie" id="highlighter_256741"> <div class="toolbar"><span></span></div> <table border="0" cellspacing="0" cellpadding="0"><tbody><tr> <td class="code"> <div class="container"> <div class="line number1 index0 alt2">&lt;img src="logo.svg" alt="gbtags logo"&gt;</div> </div> </td> </tr></tbody></table> </div> </div> <h2>SVG文件作为背景图片使用</h2> <p>我们也可以使用<span class="wp_keywordlink_affiliate"><a title="查看 SVG图片 中的全部文章" target="_blank" href="http://www.csswang.com/tag/svg%e5%9b%be%e7%89%87">SVG图片</a></span>作为背景图片使用,如下:</p> <div> <div class="syntaxhighlighter notranslate css ie" id="highlighter_586785"> <div class="toolbar"><span></span></div> <table border="0" cellspacing="0" cellpadding="0"><tbody><tr> <td class="code"> <div class="container"> <div class="line number1 index0 alt2">&lt;a href="http://www.webjx.com" class="logo"&gt; </div> <div class="line number2 index1 alt1">&#160;&#160;csswang.com </div> <div class="line number3 index2 alt2">&lt;/a&gt;</div> </div> </td> </tr></tbody></table> </div> </div> <p><strong>css代码:</strong></p> <div> <div class="syntaxhighlighter notranslate css ie" id="highlighter_294983"> <div class="toolbar"><span></span></div> <table border="0" cellspacing="0" cellpadding="0"><tbody><tr> <td class="code"> <div class="container"> <div class="line number1 index0 alt2">.logo { </div> <div class="line number2 index1 alt1">&#160;&#160;display: <div class="line number3 index2 alt2">&#160;&#160;text-indent: <div class="line number4 index3 alt1">&#160;&#160;width: <div class="line number5 index4 alt2">&#160;&#160;height: <div class="line number6 index5 alt1">&#160;&#160;background: <div class="line number7 index6 alt2">&#160;&#160;background-size: <div class="line number8 index7 alt1">}</div> </div> </div> </div> </div> </div> </div> </div> </td> </tr></tbody></table> </div> </div> <h2>使用行内SVG</h2> <p>你可以直接将SVG代码拷贝到body中,将会看到图片,如下:</p> <div> <div class="syntaxhighlighter notranslate xhtml ie" id="highlighter_351935"> <div class="toolbar"><span></span></div> <table border="0" cellspacing="0" cellpadding="0"><tbody><tr> <td class="code"> <div class="container"> <div class="line number1 index0 alt2">&lt;body&gt;&#160;&#160;&#160;&#160; </div> <div class="line number2 index1 alt1">&lt;!-- 将SVG代码拷贝到此处,将会显示图片&#160; --&gt;&#160;</div> <div class="line number3 index2 alt2">&lt;/body&gt;</div> </div> </td> </tr></tbody></table> </div> </div> <h2>使用CSS控制SVG</h2> <p>你可以使用CSS来控制SVG文件,下面代码将控制鼠标悬浮时的图片背景颜色:</p> <div> <div class="syntaxhighlighter notranslate xhtml ie" id="highlighter_349061"> <div class="toolbar"><span></span></div> <table border="0" cellspacing="0" cellpadding="0"><tbody><tr> <td class="code"> <div class="container"> <div class="line number1 index0 alt2">&lt;g class="logo" transform="translate(0.000000,500.000000) scale(0.100000,-0.100000)"</div> <div class="line number2 index1 alt1">fill="#000000" stroke="none"&gt;</div> </div> </td> </tr></tbody></table> </div> </div> <p>以上代码定义了一个logo的class,然后我们可以在CSS定义如下:</p> <div> <div class="syntaxhighlighter notranslate css ie" id="highlighter_919252"> <div class="toolbar"><span></span></div> <table border="0" cellspacing="0" cellpadding="0"><tbody><tr> <td class="code"> <div class="container"> <div class="line number1 index0 alt2">.logo:hover{ </div> <div class="line number2 index1 alt1">&#160;&#160;&#160;&#160;fill: <div class="line number3 index2 alt2">&#160;&#160;&#160;&#160;... </div> <div class="line number4 index3 alt1">}</div> </div> </div> </td> </tr></tbody></table> </div> </div> <p>注意SVG中我们使用fill而不是background来定义背景色。</p> <p>甚至可以使用filter来控制模糊度,如下:</p> <div> <div class="syntaxhighlighter notranslate css ie" id="highlighter_15714"> <div class="toolbar"><span></span></div> <table border="0" cellspacing="0" cellpadding="0"><tbody><tr> <td class="code"> <div class="container"> <div class="line number1 index0 alt2">.logo:hover{ </div> <div class="line number2 index1 alt1">&#160;&#160;&#160;&#160;fill: <div class="line number3 index2 alt2">&#160;&#160;&#160;&#160;filter: <div class="line number4 index3 alt1">}</div> </div> </div> </div> </td> </tr></tbody></table> </div> </div> <p>当你使用鼠标hover图片时,会有如下效果。</p> <p><img class="aligncenter" alt="" src="http://www.webjx.com/files/allimg/130607/1020122.jpg"></p> <p>在线调试:<a target="_blank" href="http://www.gbtags.com/gb/debug/acfcf33e-db11-4b71-bdcb-d38e99fdcef3.htm">http://www.gbtags.com/gb/debug/acfcf33e-db11-4b71-bdcb-d38e99fdcef3.htm</a></p> <h2>SVG相关工具</h2> <ul> <li>在线转<span class="wp_keywordlink_affiliate"><a title="查看 SVG工具 中的全部文章" target="_blank" href="http://www.csswang.com/tag/svg%e5%b7%a5%e5%85%b7">SVG工具</a></span>:<a href="http://image.online-convert.com/convert-to-svg">http://image.online-convert.com/convert-to-svg</a> </li> <li>微软的SVG filter效果展示工具:<a href="http://ie.microsoft.com/testdrive/graphics/hands-on-css3/hands-on_svg-filter-effects.htm">http://ie.microsoft.com/testdrive/graphics/hands-on-css3/hands-on_svg-filter-effects.htm</a> </li> <li>SVG减肥工具:<a href="http://www.mobilefish.com/services/base64/base64.php">http://www.mobilefish.com/services/base64/base64.php</a> </li> </ul> <h2>总结</h2> <p>SVG是一个非常强大的图片格式,可以帮助你高效的处理图片,拥有比JPG或者PNG更灵活强大的图形展示方式,相信如果加以时日,必定成为最流行的图片处理方式!</p>