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

SVG基礎 | 繪制SVG連接標記MARKERS

SVG連接標記(markers)用于標記一條線或路徑的開始、中間個結束位置。你可以在路徑的開始處使用圓形或方形表示,在路徑的結束處使用一個三角箭頭表示。 ...,HTML5中國,中國最大的
1.jpg

  SVG直線
  SVG 連接標記(markers)用于標記一條線或路徑的開始、中間個結束位置。你可以在路徑的開始處使用圓形或方形表示,在路徑的結束處使用一個三角箭頭表示。看羨慕的一個簡單的例子:
  1. <svg xmlns="http://www.w3.org/2000/svg">
  2.   <defs>
  3.       <marker id="markerCircle" markerWidth="8" markerHeight="8" refX="5" refY="5">
  4.           <circle cx="5" cy="5" r="3" style="stroke: none; fill:#000000;"/>
  5.       </marker>

  6.       <marker id="markerArrow" markerWidth="13" markerHeight="13" refX="2" refY="6"
  7.              orient="auto">
  8.           <path d="M2,2 L2,11 L10,6 L2,2" style="fill: #000000;" />
  9.       </marker>
  10.   </defs>

  11.   <path d="M100,10 L150,10 L150,60"
  12.         style="stroke: #6666ff; stroke-width: 1px; fill: none;
  13.                      marker-start: url(#markerCircle);
  14.                      marker-end: url(#markerArrow);
  15.                    "
  16.           />
  17. </svg>      
復制代碼
2.jpg
  首先我們需要注意的是<defs>元素中有兩個<marker>元素。這兩個<marker>元素定義了連接標記的開始和結束位置的顯示圖形。

  接著要注意在路徑<path>元素中是如何使用連接標記的。這里是在style樣式中使用marker-start和marker-end來分別指定連接標記的開始和結束元素。

  定義一個連接標記

  我們可以使用元素來定義一個連接標記。示例如下:
  1. <marker id="markerCircle" markerWidth="8" markerHeight="8" refX="5" refY="5">
  2.     <circle cx="5" cy="5" r="3" style="stroke: none; fill:#000000;"/>
  3. </marker>  
復制代碼

  上面的例子定義了一個寬度為8,高度為8的連接標記。連接標記的寬度和高度必須明確指定,因為它是一個單獨的圖像元素。

  id屬性是用于在<path>元素中引用連接標記的。

  refX和refY屬性用于指定在連接標記中哪個點用于作為參考點。參考點是當前連接標記的開始位置所在的坐標。在上面的例子中,這個坐標設置在圓的圓心處,也就是說圓的中心被放置在路徑的開始位置。如果你不設置refX和refY屬性,那么它們會被默認設置為0,那么路徑的開始處會被放置在連接標記的左上角位置。

  在連接標記<marker>中是一個<circle>元素,這個圓的圓心被設置為5,5。該中心點位于連接標記虛擬盒模型的中心位置。虛擬盒模型的寬度和高度分別對應markerWidth和markerHeight屬性。

  AUTO ORIENTATION
  來看下面的一個連接標記的例子。這里使用一個三角形作為路徑的箭頭標記。
  1. <marker id="markerArrow" markerWidth="13" markerHeight="13" refX="2" refY="6"
  2.        orient="auto">
  3.     <path d="M2,2 L2,11 L10,6 L2,2" style="fill: #000000;" />
  4. </marker>   
復制代碼

  在<marker>元素中的<path>元素繪制出一個箭頭向右的三角形。如果路徑不是水平放置的,我們就需要旋轉這個三角形,讓它來適應路徑的方向。如果每次都手動來調整是非常麻煩的事情。這時我們可以將orient屬性設置為auto,這樣就會自動旋轉圖形以適應不同的路徑。

  下面是5條角度不同的直線,兩端分別使用相同的標記圖形。注意這些圖形是如何自適應各種不同角度的直線的。

3.jpg

  你也可以將orient屬性的值設置為一個固定值,它的單位是degrees,例如設置為:45。這會在使用的時候將這個標記(marker)旋轉45度。

  在路徑上引用標記

  你可以使用下面的CSS屬性來在路徑上引用標記:

  •   marker-start
  •   marker-mid
  •   marker-end

  這三個CSS屬性會將標記分別放置在路徑的開始、中間和結束位置。

  要使用這三個CSS屬性,需要在<path>元素的style樣式中使用。想要引用一個標記,只需要在相應的CSS屬性中使用ID來應用即可,例如下邊的例子:
  1. marker-start : url(#markerId);      
復制代碼

  markerId需要替換為你想要使用的<marker>元素。

  下面是一個使用這三個CSS屬性的例子:
  1. <defs>
  2.   <marker id="markerSquare" markerWidth="7" markerHeight="7" refX="4" refY="4"
  3.           orient="auto">
  4.       <rect x="1" y="1" width="5" height="5" style="stroke: none; fill:#000000;"/>
  5.   </marker>

  6.   <marker id="markerArrow" markerWidth="13" markerHeight="13" refX="2" refY="7"
  7.           orient="auto">
  8.       <path d="M2,2 L2,13 L8,7 L2,2" style="fill: #000000;" />
  9.   </marker>
  10. </defs>

  11. <path d="M100,20 l50,0 l0,50 l50,0"
  12.       style="stroke: #0000cc; stroke-width: 1px; fill: none;
  13.                    marker-start: url(#markerSquare);
  14.                    marker-mid: url(#markerSquare);
  15.                    marker-end: url(#markerArrow);

  16.                  "
  17.         />            
復制代碼

  上面的代碼返回的結果如下:

4.jpg

  使用其它元素來引用標記

  <path>元素不是唯一能夠使用標記的SVG元素。<line> <polyline> 和<polygon>元素也能夠使用標記。它們使用標記的方法和<path>元素相同:通過在CSS marker-start、marker-mid和marker-end屬性中引用<marker>元素的ID。

  標記的大小

  我們可以對標記進行縮放來適應路徑描邊的大小,下面是幾個例子:

5.jpg

  這個效果是通過設置<marker>元素的markerUnits屬性的值為strokeWidth來實現的。實際上這是markerUnits屬性的默認值。代碼如下:
  1. <marker id="markerSquare" markerWidth="7" markerHeight="7" refX="4" refY="4"
  2.     orient="auto" markerUnits="strokeWidth">
  3.     <rect x="1" y="1" width="5" height="5" style="stroke: none; fill:#000000;"/>
  4. </marker>     
復制代碼
  如果不想標記的大小自動匹配路徑的描邊寬度,可以設置markerUnits的值為userSpaceOnUse。這樣在使用標記的時候,標記將會保持它們原來的大小。

  本文版權屬于jQuery之家,轉載請注明出處:http://www.htmleaf.com/ziliaoku/ ... g/201506061983.html


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

相關文檔推薦

由于實際運行環境是在瀏覽器中,因此性能還取決于JavaScript解釋器的效率,指定的FPS幀速在低性能解釋器中可能不會達到,所以這部分不是開發者能夠決定的,開發者能作的是盡可能通
本文將使用HTML5提供的VideoAPI做一個自定義的視頻播放器,需要用到HTML5提供的video標簽、以及HTML5提供的對JavascriptAPI的擴展。,HTML5中國,中國最大的HTML5中文門戶。
隨著 Hybrid 應用的豐富,HTML5 工程師們已經不滿足于把桌面端體驗簡單移植到移動端,他們覬覦移動原生應用人性化的操作體驗,特別是原生應用與生俱來的豐富的手勢系統。HTML5 沒有提
你想要在自己網站上分享一個產品,或者是一個作品集,又或者僅僅只是一個靈感。在你發布到網上之前,你想讓它看起來有吸引力,專業,或者至少得看起來像那么回事。那么你接下
H5廣告,包括H5廣告的設計流程,究竟有什么講究,和階段。為了能幫助更多的人了解H5廣告,我專門做了一個講義。同時,也讓我意外的收到了非常好反饋和認!這是對我的極大鼓勵!我的
本文主要內容有:框架與組件、構建生態、開發技巧與調試、html、css與重構、native/hybrid/桌面開發、前端/H5優化、全棧/全端開發、研究實驗、數據分析與監控、其它軟技能、前端技術網
主站蜘蛛池模板: 冷柜风机-冰柜电机-罩极电机-外转子风机-EC直流电机厂家-杭州金久电器有限公司 | 重庆钣金加工厂家首页-专业定做监控电视墙_操作台 | T恤衫定做,企业文化衫制作订做,广告T恤POLO衫定制厂家[源头工厂]-【汉诚T恤定制网】 | 探鸣起名网-品牌起名-英文商标起名-公司命名-企业取名包满意 | 全自动包装机_灌装机生产厂家-迈驰包装设备有限公司 | 重庆波纹管|重庆钢带管|重庆塑钢管|重庆联进管道有限公司 | 强效碱性清洗剂-实验室中性清洗剂-食品级高纯氮气发生器-上海润榕科学器材有限公司 | 提升海外网站流量,增加国外网站访客UV,定制海外IP-访客王 | 山东锐智科电检测仪器有限公司_超声波测厚仪,涂层测厚仪,里氏硬度计,电火花检漏仪,地下管线探测仪 | 临海涌泉蜜桔官网|涌泉蜜桔微商批发代理|涌泉蜜桔供应链|涌泉蜜桔一件代发 | 流量卡中心-流量卡套餐查询系统_移动电信联通流量卡套餐大全 | 合肥礼品公司-合肥礼品定制-商务礼品定制公司-安徽柏榽商贸有限公司 | 宜兴市恺瑞德环保科技有限公司 | 太平洋亲子网_健康育儿 品质生活 | 槽钢冲孔机,槽钢三面冲,带钢冲孔机-山东兴田阳光智能装备股份有限公司 | 空气能暖气片,暖气片厂家,山东暖气片,临沂暖气片-临沂永超暖通设备有限公司 | 合肥卓创建筑装饰,专业办公室装饰、商业空间装修与设计。 | TwistDx恒温扩增-RAA等温-Jackson抗体-默瑞(上海)生物科技有限公司 | 劳动法网-专业的劳动法和劳动争议仲裁服务网 | 报警器_家用防盗报警器_烟雾报警器_燃气报警器_防盗报警系统厂家-深圳市刻锐智能科技有限公司 | 冰晶石|碱性嫩黄闪蒸干燥机-有机垃圾烘干设备-草酸钙盘式干燥机-常州市宝康干燥 | 深圳诚暄fpc首页-柔性线路板,fpc柔性线路板打样生产厂家 | HYDAC过滤器,HYDAC滤芯,现货ATOS油泵,ATOS比例阀-东莞市广联自动化科技有限公司 | 水性漆|墙面漆|木器家具漆|水漆涂料_晨阳水漆官网 | 浙江浩盛阀门有限公司| 自动部分收集器,进口无油隔膜真空泵,SPME固相微萃取头-上海楚定分析仪器有限公司 | 山东PE给水管厂家,山东双壁波纹管,山东钢带增强波纹管,山东PE穿线管,山东PE农田灌溉管,山东MPP电力保护套管-山东德诺塑业有限公司 | 山西3A认证|太原AAA信用认证|投标AAA信用证书-山西AAA企业信用评级网 | 上海单片机培训|重庆曙海培训分支机构—CortexM3+uC/OS培训班,北京linux培训,Windows驱动开发培训|上海IC版图设计,西安linux培训,北京汽车电子EMC培训,ARM培训,MTK培训,Android培训 | IWIS链条代理-ALPS耦合透镜-硅烷预处理剂-上海顶楚电子有限公司 lcd条形屏-液晶长条屏-户外广告屏-条形智能显示屏-深圳市条形智能电子有限公司 | 欧盟ce检测认证_reach检测报告_第三方检测中心-深圳市威腾检验技术有限公司 | 生鲜配送系统-蔬菜食材配送管理系统-连锁餐饮订货配送软件-挪挪生鲜供应链管理软件 | 风化石头制砂机_方解石制砂机_瓷砖石子制砂机_华盛铭厂家 | 智成电子深圳tdk一级代理-提供TDK电容电感贴片蜂鸣器磁芯lambda电源代理经销,TDK代理商有哪些TDK一级代理商排名查询。-深圳tdk一级代理 | 湖南成人高考报名-湖南成考网| 座椅式升降机_无障碍升降平台_残疾人升降平台-南京明顺机械设备有限公司 | 无锡市珂妮日用化妆品有限公司|珂妮日化官网|洗手液厂家 | 成都思迪机电技术研究所-四川成都思迪编码器 | 济南拼接屏_山东液晶拼接屏_济南LED显示屏—维康国际官网 | NM-02立式吸污机_ZHCS-02软轴刷_二合一吸刷软轴刷-厦门地坤科技有限公司 | 水热合成反应釜-防爆高压消解罐-西安常仪仪器设备有限公司 |