pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

SVG基礎 | SVG DEFS元素、SYMBOL元素和USE元素

本文介紹SVG的基礎知識:svg defs元素,svg symbol元素和svg use元素。,HTML5中國,中國最大的HTML5中文門戶。
1.jpg

  SVG DEFS元素

  SVG的<defs>元素用于預定義一個元素使其能夠在SVG圖像中重復使用。例如你可以將一些圖形制作為一個組,并用<defs>元素來定義它,然后你就可以在SVG圖像中將它當做簡單圖形來重復使用??聪旅娴睦樱?/font>
  1. <svg xmlns="http://www.w3.org/2000/svg">
  2.   <defs>
  3.       <g>
  4.           <rect x="100" y="100" width="100" height="100" />
  5.           <circle cx="100" cy="100" r="100" />
  6.       </g>
  7.   </defs>
  8. </svg>   
復制代碼

  在<defs>元素中定義的圖形不會直接顯示在SVG圖像上。要顯示它們需要使用<use>元素來引入它們。如下面的代碼所示:
  1. <svg xmlns="http://www.w3.org/2000/svg">  
  2.   <defs>
  3.     <g id="shape">
  4.         <rect x="50" y="50" width="50" height="50" />
  5.         <circle cx="50" cy="50" r="50" />
  6.     </g>
  7.   </defs>

  8.   <use xlink:href="#shape" x="50" y="50" />
  9.   <use xlink:href="#shape" x="200" y="50" />
  10. </svg>      
復制代碼

  要引用<g>元素,必須在<g>元素上設置一個ID,通過ID來引用它。<use>元素通過xlink:href屬性來引入<g>元素。注意在ID前面要添加一個#。

  在<use>元素中,通過x和y屬性來指定重用圖形的顯示位置。注意在<g>元素中的圖形的定位點都是0,0,在使用<use>元素來引用它的時候,它的定位點被轉換為<use>元素x和y屬性指定的位置。

  下面是上面代碼的返回結果:
2.jpg
  上面SVG圖像中綠色的圓點并不是示例代碼的一部分。它們是用來顯示2個<use>元素的x和y坐標的。

  哪些元素可以被定義為defs中的元素呢?

  你可以將下面的元素放入到<defs>元素中使用:

  •   任何圖形元素,如:rect,line等
  •   g
  •   symbol

  SVG SYMBOL元素

  SVG <symbol>元素用于定義可重復使用的符號。嵌入在<symbol>元素中的圖形是不會被直接顯示的,除非你使用<use>元素來引用它。

  下面是一個使用<symbol>元素的簡單例子:
  1. <svg xmlns="http://www.w3.org/2000/svg" width="500" height="100">
  2.     <symbol id="shape2">
  3.         <circle cx="25" cy="25" r="25" style="fill:#bf55ec;"/>
  4.     </symbol>

  5.     <use xlink:href="#shape2" x="50" y="25" />
  6. </svg>   
復制代碼

  <symbol>元素需要一個ID號,以便以被<use>元素引用。
3.jpg
  一個<symbol>元素可以有preserveAspectRatio和viewBox屬性。而<g>元素不能擁有這些屬性。因此相比于在<defs>元素中使用<g>的方式來復用圖形,使用<symbol>元素也許是一個更好的選擇。


  SVG USE元素

  SVG <use>元素可以在SVG圖像中多次重用一個預定義的SVG圖形,包括<g>元素和<symbol>元素。被重用的圖形可以在定義<defs>的內部(圖形將不可見直到使用use來引用它)或外部。

  下面是一個使用<use>元素的例子:
  1. <svg>
  2.   <defs>
  3.     <g id="shape">
  4.         <rect x="50" y="50" width="50" height="50" />
  5.         <circle cx="50" cy="50" r="50" />
  6.     </g>
  7.   </defs>

  8.   <use xlink:href="#shape" x="50" y="50" />
  9.   <use xlink:href="#shape" x="200" y="50" />

  10. </svg>        
復制代碼
  上面的例子顯示的是在<defs>元素中定義的<g>元素。

  要引用<g>元素,必須給它一個ID號,通過ID號來引用它。

  下面是上面代碼的返回結果:
4.jpg
  我們也可以引用不在<defs>元素中的圖形。<use>元素可以引用SCG圖像中的任何元素,只要這個元素有一個唯一的ID號,例如:
  1. <svg width="500" height="110">

  2.     <g id="shape2">
  3.         <rect x="0" y="0" width="50" height="50" />
  4.     </g>

  5.     <use xlink:href="#shape2" x="200" y="50" />

  6. </svg>      
復制代碼

  這個例子在<g>元素中定義了一個<rect>元素。然后通過<use>元素來引用這個<g>元素。它返回的結果如下面所示:
5.jpg
  注意這里原始圖形和復用的圖形都會被顯示。因為原始的圖形并沒有定義在<defs>或<symbol>元素中。所以它是可見的。

  你可以為引用的圖形設置CSS樣式。你可以在<use>元素中使用style屬性來為復用的圖形設置它的樣式。例如:
  1. <svg width="500" height="110">

  2.   <g id="shape3">
  3.       <rect x="0" y="0" width="50" height="50" />
  4.   </g>

  5.   <use xlink:href="#shape3" x="100" y="50" style="fill: #00ff00;"/>
  6.   <use xlink:href="#shape3" x="200" y="50" style="stroke: #00ff00; fill: none;"/>

  7. </svg>        
復制代碼

  注意上面的代碼中,原始的圖形并沒有設置樣式,它將是默認的樣式(黑色)。
6.jpg
  本文版權屬于jQuery之家,轉載請注明出處:http://www.htmleaf.com/ziliaoku/ ... g/201506132029.html

【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。

相關文檔推薦

由于實際運行環境是在瀏覽器中,因此性能還取決于JavaScript解釋器的效率,指定的FPS幀速在低性能解釋器中可能不會達到,所以這部分不是開發者能夠決定的,開發者能作的是盡可能通
本文將使用HTML5提供的VideoAPI做一個自定義的視頻播放器,需要用到HTML5提供的video標簽、以及HTML5提供的對JavascriptAPI的擴展。,HTML5中國,中國最大的HTML5中文門戶。
隨著 Hybrid 應用的豐富,HTML5 工程師們已經不滿足于把桌面端體驗簡單移植到移動端,他們覬覦移動原生應用人性化的操作體驗,特別是原生應用與生俱來的豐富的手勢系統。HTML5 沒有提
你想要在自己網站上分享一個產品,或者是一個作品集,又或者僅僅只是一個靈感。在你發布到網上之前,你想讓它看起來有吸引力,專業,或者至少得看起來像那么回事。那么你接下
H5廣告,包括H5廣告的設計流程,究竟有什么講究,和階段。為了能幫助更多的人了解H5廣告,我專門做了一個講義。同時,也讓我意外的收到了非常好反饋和認!這是對我的極大鼓勵!我的
本文主要內容有:框架與組件、構建生態、開發技巧與調試、html、css與重構、native/hybrid/桌面開發、前端/H5優化、全棧/全端開發、研究實驗、數據分析與監控、其它軟技能、前端技術網
主站蜘蛛池模板: R507制冷剂,R22/R152a制冷剂厂家-浙江瀚凯制冷科技有限公司 | 超声波焊接机,振动摩擦焊接机,激光塑料焊接机,超声波焊接模具工装-德召尼克(常州)焊接科技有限公司 | 特种阀门-调节阀门-高温熔盐阀-镍合金截止阀-钛阀门-高温阀门-高性能蝶阀-蒙乃尔合金阀门-福建捷斯特阀门制造有限公司 | 光栅尺厂家_数显表维修-苏州泽升精密机械 | 清管器,管道清管器,聚氨酯发泡球,清管球 - 承德嘉拓设备 | 多米诺-多米诺世界纪录团队-多米诺世界-多米诺团队培训-多米诺公关活动-多米诺创意广告-多米诺大型表演-多米诺专业赛事 | 污水/卧式/潜水/钻井/矿用/大型/小型/泥浆泵,价格,参数,型号,厂家 - 安平县鼎千泵业制造厂 | 碳化硅,氮化硅,冰晶石,绢云母,氟化铝,白刚玉,棕刚玉,石墨,铝粉,铁粉,金属硅粉,金属铝粉,氧化铝粉,硅微粉,蓝晶石,红柱石,莫来石,粉煤灰,三聚磷酸钠,六偏磷酸钠,硫酸镁-皓泉新材料 | 铜镍-康铜-锰铜-电阻合金-NC003 - 杭州兴宇合金有限公司 | 偏心半球阀-电动偏心半球阀-调流调压阀-旋球阀-上欧阀门有限公司 | 沥青车辙成型机-车托式混凝土取芯机-混凝土塑料试模|鑫高仪器 | 金属管浮子流量计_金属转子流量计厂家-淮安润中仪表科技有限公司 | 精密模具制造,注塑加工,吹塑和吹瓶加工,EPS泡沫包装生产 - 济南兴田塑胶有限公司 | 北京开源多邦科技发展有限公司官网 | 合肥汽车充电桩_安徽充电桩_电动交流充电桩厂家_安徽科帝新能源科技有限公司 | 灌装封尾机_胶水灌装机_软管灌装封尾机_无锡和博自动化机械制造有限公司 | 找果网 | 苹果手机找回方法,苹果iPhone手机丢了找回,认准找果网! | 无味渗透剂,泡沫抑尘剂,烷基糖苷-威海威能化工有限公司 | 网站seo优化_seo云优化_搜索引擎seo_启新网络服务中心 | 厂房出售_厂房仓库出租_写字楼招租_土地出售-中苣招商网-中苣招商网 | 圆周直径尺-小孔内视镜-纤维研磨刷-东莞市高腾达精密工具 | 艾默生变频器,艾默生ct,变频器,ct驱动器,广州艾默生变频器,供水专用变频器,风机变频器,电梯变频器,艾默生变频器代理-广州市盟雄贸易有限公司官方网站-艾默生变频器应用解决方案服务商 | 合肥制氮机_合肥空压机厂家_安徽真空泵-凯圣精机 | 纸塑分离机-纸塑分离清洗机设备-压力筛-碎浆机厂家金双联环保 | 政府园区专业委托招商平台_助力企业选址项目快速落地_东方龙商务集团 | 购买舔盐、舔砖、矿物质盐压块机,鱼饵、鱼饲料压块机--请到杜甫机械 | 上海律师咨询_上海法律在线咨询免费_找对口律师上策法网-策法网 广东高华家具-公寓床|学生宿舍双层铁床厂家【质保十年】 | 鄂泉泵业官网|(杭州、上海、全国畅销)大流量防汛排涝泵-LW立式排污泵 | 山西3A认证|太原AAA信用认证|投标AAA信用证书-山西AAA企业信用评级网 | Safety light curtain|Belt Sway Switches|Pull Rope Switch|ultrasonic flaw detector-Shandong Zhuoxin Machinery Co., Ltd | 无硅导热垫片-碳纤维导热垫片-导热相变材料厂家-东莞市盛元新材料科技有限公司 | 电竞馆加盟,沈阳网吧加盟费用选择嘉棋电竞_售后服务一体化 | 纯化水设备-纯水设备-超纯水设备-[大鹏水处理]纯水设备一站式服务商-东莞市大鹏水处理科技有限公司 | 数码听觉统合训练系统-儿童感觉-早期言语评估与训练系统-北京鑫泰盛世科技发展有限公司 | 西装定制/做厂家/公司_西装订做/制价格/费用-北京圣达信西装 | 电动液压篮球架_圆管地埋式篮球架_移动平箱篮球架-强森体育 | 杭州用友|用友软件|用友财务软件|用友ERP系统--杭州协友软件官网 | 成都思迪机电技术研究所-四川成都思迪编码器 | PO膜_灌浆膜及地膜供应厂家 - 青州市鲁谊塑料厂 | 北京三友信电子科技有限公司-ETC高速自动栏杆机|ETC机柜|激光车辆轮廓测量仪|嵌入式车道控制器 | 英超直播_英超免费在线高清直播_英超视频在线观看无插件-24直播网 |