亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > HTML5之SVG 2D入門8—文檔結構及相關元素總結

HTML5之SVG 2D入門8—文檔結構及相關元素總結

熱門標簽:標準智能外呼系統 洛陽市伊川縣地圖標注中心官網 地圖標注自己去過的地方 搜狗星級酒店地圖標注 平頂山電子地圖標注怎么修改 高德地圖標注錯誤怎么修改 江蘇高頻外呼系統線路 會聲會影怎樣做地圖標注效果 電銷機器人視頻
前面介紹了很多的基本元素,包括結構相關的組合和重用元素,這里先對SVG的文檔結構中剩下的相關元素簡單總結一下,然后繼續向前領略SVG的其他特性。
SVG文檔的元素基本可以分為以下幾類:
•動畫元素:animate,animateColor,animateMotion,animateTransform,set;
•解釋元素:desc,metadata,title;
•圖形元素:circle,ellipse,line,path,polygon,polyline,rect;
•結構元素:defs,g,svg,symbol,use;
•漸變元素:linearGradient,radialGradient;
•其他元素:a,altGlyphDef,clipPath,color-profile,cursor,filter,font,font-face,foreignObject,image,marker,mask,pattern,script,style,switch,text,view等。
其中圖形元素,漸變元素,文本,圖像元素和組合等都介紹過了,下面介紹另外幾個與結構相關的元素。

視窗-svg元素
可以在svg元素中以任何順序放置任何的其他元素,包括嵌套svg元素。
svg元素支持的屬性常用的也就是id,class,x,y,width,height,viewBox,preserveAspectRatio,以及fill和stroke的相關屬性。
svg元素支持的事件也是常用的onload,onmouseover,onmousemove,onmousedown,onmouseup,onclick,onfocusin,onfocusout,onresize,onscroll,onunload等。svg元素就不多說了,完整的屬性和事件列表參看后面的官方文檔。

解釋性元素-desc元素與title元素
每個容器元素(可以包含其他容器元素或者圖形元素的元素,例如:a,defs,glyph,g,marker,mask,missing-glyph,pattern,svg,switch和symbol)和圖形元素都可以包含desc和title元素,這兩個元素都是輔助性的元素,用于解釋相關情境;它們的內容都是文本。當SVG文檔被渲染的時候,這2個元素不會被渲染到圖形中。這個2個元素之間差別不是太大,title在有些實現中是作為提示信息出現的,所以通常title是放到父元素的第一個位置上。
典型的用法如下:

復制代碼
代碼如下:

<svgxmlns="http://www.w3.org/2000/svg" version="1.1"width="4in"height="3in">
<g>
<title>Companysalesbyregion</title>
<desc>
Thisisabarchartwhichshows
companysalesbyregion.
</desc>
<!--Barchartdefinedasvectordata-->
</g>
</svg>

通常,最外層的svg元素要配以title說明,這樣程序可讀性更好。

標記-marker元素
標記定義了附加到一個或者多個頂點(path,line,polyline或者polygon的頂點)上的圖形元素(箭頭和多點標記)。箭頭可以通過把一個標記附加到path,line或者polyline的起點或者終點上。多點標記可以把一個標記附加到path,line,polyline或者polygon的所有頂點上。

標記是由marker元素定義的,然后在path,line,polyline或者polygon中設置相關的屬性(marker,marker-start,marker-mid,和marker-end)就可以了??磦€例子:

復制代碼
代碼如下:

<svgwidth="4in"height="2in"
viewBox="0040002000"version="1.1"
xmlns="http://www.w3.org/2000/svg">
<defs>
<markerid="Triangle"
viewBox="001010"refX="0"refY="5"
markerUnits="strokeWidth"
markerWidth="4"markerHeight="3"
orient="auto">
<pathd="M00L105L010z"/>
</marker>
</defs>
<desc>Placinganarrowheadattheendofapath.
</desc>
<pathd="M1000750L2000750L25001250"
fill="none"stroke="black"stroke-width="100"
marker-end="url(#Triangle)"/>
</svg>

下面詳細看看marker的相關知識
1.marker是容器元素,可以存放任意順序的圖形元素,容器元素,動畫,漸變元素等。
2.marker元素可以創建新的視窗:設置viewBox的值。
3.marker比較重要的屬性:
markerUnits="strokeWidth|userSpaceOnUse"
這個屬性定義了屬性markerWidth,markerHeight和marker的內容使用的坐標系統。這個屬性有2個值可選,第一個值strokeWidth是默認值,代表屬性markerWidth,markerHeight和marker的內容使用的坐標系統的單位等于引用該marker的圖形元素的stroke-width設置的值。

例如上面的例子中,marker元素的width是400,height是300,不過千萬不要混淆了,mark元素中的path使用的坐標是viewBox設置的新的用戶坐標系。
該屬性另外一個取值userSpaceOnUse,代表屬性markerWidth,markerHeight和marker的內容使用引用該marker的圖形元素的坐標系統。
refX,refY:定義了引用的點與marker對齊的位置坐標。例如上面的例子中,引用的點是終點,要把它對齊到marker的(0,5)位置。注意refX,refY使用的是經過viewBox變換過的最終用戶坐標系。
markerWidth,markerHeight:marker視窗的寬和高,這個很好理解。
orient:定義了marker旋轉的角度??梢灾付ㄒ粋€角度或者直接賦值auto。
auto代表x軸正方向按照下列規則旋轉
a.如果marker所在的點只屬于一個path,則marker的x軸正向與path走向相同。參看上面例子。
b.如果marker所在的點屬于兩個不同的path,則marker的x軸正向與兩個path的夾角的角等分線走向一致。
4.圖形元素的marker屬性

圖形元素要引用一個marker則需要使用相關的屬性,主要是這3個:marker-start(把引用的marker放到起點),marker-mid(把引用的marker放到除起點和終點外的所有點),marker-end(把引用的marker放到終點)。這3個屬性的取值可能是none(代表不引用marker),marker的引用(引用某marker),inherit(這個不用多說了)。
從上面的例子中也可以看到marker的用法。

腳本與樣式-script元素與style元素
實際上,基本上所有的屬性(對于所有元素,不僅是文本)都可以用CSS與一個元素關聯,并且所有CSS屬性都在SVG圖像中可用。可以直接用樣式屬性設計元素的樣式,或者引用樣式表設計元素的樣式。對XML文件來說不應該解析樣式表(因為它們偶爾包含會引起問題的字符),因此需要將它們置于XMLCDATA節。腳本也是同樣的道理,需要放到XMLCDATA節中。看下面的CSS例子:

復制代碼
代碼如下:

<svgwidth="400"height="200"xmlns="http://www.w3.org/2000/svg">
<desc>Text</desc><defs>
<styletype="text/css">
<![CDATA[
.abbreviation{text-decoration:underline;}
]]>
</style>
</defs>
<g>
<textx="20"y="50"font-size="30">Colorscanbespecified</text>
<textx="20"y="100"font-size="30">bytheir
<tspanfill="rgb(255,0,0)"class="abbreviation">R</tspan>
<tspanfill="rgb(0,255,0)"class="abbreviation">G</tspan>
<tspanfill="rgb(0,0,255)"class="abbreviation">B</tspan>values</text>
<textx="20"y="150"font-size="30">orbykeywordssuchas</text>
<textx="20"y="200">
<tspanstyle="fill:lightsteelblue;font-size:30">lightsteelblue</tspan>,
</text>
</g>
</svg>

再看腳本的例子:

復制代碼
代碼如下:

<svgwidth="500"height="300"xmlns="http://www.w3.org/2000/svg">
<desc>Scriptingtheonclickevent</desc>
<defs>
<scripttype="text/ecmascript">
<![CDATA[
functionhideReveal(evt){
varimageTarget=evt.target;
vartheFill=imageTarget.getAttribute("fill");
if(theFill=='white')
imageTarget.setAttribute("fill","url(#notes)");
else
imageTarget.setAttribute("fill","white");
}
]]>
</script>
<patternid="notes"x="0"y="0"width="50"height="75"
patternTransform="rotate(15)"
patternUnits="userSpaceOnUse">
<ellipsecx="10"cy="30"rx="10"ry="5"/>
<linex1="20"y1="30"x2="20"y2="0"
stroke-width="3"stroke="black"/>
<linex1="20"y1="0"x2="30"y2="5"
stroke-width="3"stroke="black"/>
</pattern>
</defs>
<ellipseonclick="hideReveal(evt)"cx="175"cy="100"rx="125"ry="60"
fill="url(#notes)"stroke="black"stroke-width="5"/>
</svg>

條件處理-switch元素
條件處理屬性是能控制所在元素渲染與否的屬性?;旧洗蠖鄶档脑?特別是圖形元素)都可以指定條件處理屬性。條件處理屬性有3個:requiredFeatures,requiredExtensions和systemLanguage。這些屬性就是一組測試,都允許指定一個值列表(前面兩個屬性是空格隔開的,語言這個屬性是使用逗號隔開的),默認值都為true。

SVG的switch元素提供了按指定條件渲染的能力。switch元素是一個容器元素,可以包含圖形元素,解釋性元素,動畫元素,a,foreignObject,g,image,svg,switch,text,use等元素。switch元素會按順序檢查直接子元素的條件處理屬性,然后渲染滿足自身條件的的第一個子元素,其他的子元素都會被忽略。這些屬性與display屬性一樣,只會影響直接使用這些屬性的元素的渲染,不會影響引用的元素(比如use引用的元素)。簡單的說,這3個屬性會影響a,altGlyph,foreignObject,textPath,tref,tspan,animate,animateColor,animateMotion,animateTransform,set等元素,不會影響defs,cursor,mask,clipPath,pattern等元素(這些元素那么不是可渲染的,要么就是引用別的元素)。

注意:子元素的display和visibility屬性值并不影響switch元素條件判斷的結果。
條件處理屬性的取值列表參看官方文檔,這里就看一個小例子:

復制代碼
代碼如下:

<switch>
<rectrequiredFeatures="http://www.w3.org/TR/SVG11/feature#Filter"
x="10"y="10"width="322"height="502"opacity="0.6"
fill="black"stroke="none"filter="url(#gblurshadow)"/>
<rectx="10"y="10"width="322"height="502"opacity="0.6"
fill="black"stroke="none"/>
</switch>

這個例子的意思簡單的說就是:使用的瀏覽器支持filter特性,那么就繪制上面的矩形(帶filter屬性),如果不支持filter特性,就繪制下面的矩形。
其實更多的時候,用的比較多的屬性是systemLanguage,就是文本的多語言處理能力。例如:

復制代碼
代碼如下:

<svgxmlns="http://www.w3.org/2000/svg" version="1.1"width="5cm"height="5cm">
<switch>
<textx='10'y='20'systemLanguage="de">de-HAHA</text>
<textx='10'y='20'systemLanguage="en">en-haha</text>
</switch>
</svg>

實用參考
腳本索引:http://msdn.microsoft.com/zh-cn/library/ff971910(v=vs.85).aspx
開發中心:https://developer.mozilla.org/en/SVG
熱門參考:http://www.chinasvg.com/
官方文檔:http://www.w3.org/TR/SVG11/

標簽:蚌埠 廣東 常德 果洛 廣西 鄂爾多斯 松原 阿克蘇

巨人網絡通訊聲明:本文標題《HTML5之SVG 2D入門8—文檔結構及相關元素總結》,本文關鍵詞  HTML5,之,SVG,入門,文檔,結構,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《HTML5之SVG 2D入門8—文檔結構及相關元素總結》相關的同類信息!
  • 本頁收集關于HTML5之SVG 2D入門8—文檔結構及相關元素總結的相關信息資訊供網民參考!
  • 推薦文章
    国产一区二区精品| 日韩一级黄色片| 日韩中文字幕在线亚洲一区| 91麻豆精品国产自产在线观看一区| 亚久久伊人精品青青草原2020| 久久久久久久网| 一级毛片看真人在线视频| 99热精品在线| 午夜激情视频在线播放| 美女被草网站| 黄视频网站在线看| 国产伦精品一区二区三区在线观看| 久久精品大片| 国产一区二区精品尤物| 久久久成人影院| 日本特黄特色aa大片免费| 日韩在线观看视频免费| 韩国妈妈的朋友在线播放| 色综合久久久久综合体桃花网| 日韩男人天堂| 天天做日日爱夜夜爽| 精品久久久久久中文字幕一区| 日韩欧美一二三区| 国产一区二区精品| 午夜久久网| 精品在线观看一区| 精品久久久久久中文| 可以免费看污视频的网站| 91麻豆精品国产综合久久久| 国产一区二区精品| 国产成人啪精品| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 美国一区二区三区| 成人影院久久久久久影院| 九九九网站| 欧美另类videosbestsex久久| 国产亚洲免费观看| 麻豆系列 在线视频| 99久久精品国产麻豆| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 国产激情一区二区三区| 四虎影视精品永久免费网站 | 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 一级女性大黄生活片免费| 欧美18性精品| 亚洲天堂在线播放| 国产不卡高清| 日本在线不卡视频| 日韩免费片| 亚洲爆爽| 999精品在线| 日韩一级精品视频在线观看| 午夜久久网| 日本在线不卡视频| 午夜欧美福利| 国产伦精品一区二区三区无广告 | 韩国三级香港三级日本三级la| 精品在线视频播放| 国产成人女人在线视频观看 | 欧美一级视频免费| 日韩中文字幕在线播放| a级精品九九九大片免费看| 欧美大片a一级毛片视频| 午夜在线观看视频免费 成人| 深夜做爰性大片中文| 99久久精品国产免费| 亚洲精品中文字幕久久久久久| 亚洲天堂免费观看| 亚州视频一区二区| 香蕉视频一级| 欧美激情一区二区三区在线 | 国产一区免费在线观看| 韩国三级视频网站| 久久国产一久久高清| 日本在线www| 黄色短视频网站| 国产一区二区精品久久91| 欧美日本免费| a级黄色毛片免费播放视频| 欧美大片毛片aaa免费看| 欧美日本二区| 欧美激情一区二区三区视频 | 一级女性全黄久久生活片| 天天做人人爱夜夜爽2020 | 色综合久久久久综合体桃花网| 天堂网中文在线| 99久久网站| 韩国三级视频在线观看| 久久精品免视看国产成人2021| 久久成人综合网| 青青青草影院| 日本特黄一级| 国产不卡在线观看视频| 你懂的在线观看视频| 精品国产亚一区二区三区| 国产亚洲免费观看| 久草免费在线色站| 九九九网站| 欧美另类videosbestsex高清| 欧美国产日韩久久久| 麻豆系列国产剧在线观看| 日韩男人天堂| 国产成人精品综合久久久| 超级乱淫伦动漫| 欧美电影免费| 亚洲第一色在线| 精品国产一区二区三区久| 尤物视频网站在线| 国产精品免费久久| 国产视频一区二区三区四区 | 超级乱淫黄漫画免费| 国产福利免费观看| 国产不卡高清在线观看视频| 日韩在线观看网站| 成人免费观看视频| 欧美a免费| 成人免费观看的视频黄页| 91麻豆爱豆果冻天美星空| 欧美一级视频免费| 韩国毛片 免费| 亚洲 国产精品 日韩| 国产极品精频在线观看| 韩国妈妈的朋友在线播放| 国产网站免费| 国产韩国精品一区二区三区| 成人高清视频免费观看| 91麻豆国产| 黄色免费三级| 在线观看成人网| 九九免费高清在线观看视频| 日本特黄特黄aaaaa大片| 久久国产影院| 成人免费福利片在线观看| 欧美激情一区二区三区在线| 在线观看成人网| 日韩中文字幕在线亚洲一区| 欧美国产日韩在线| 青青久久国产成人免费网站| 韩国毛片免费大片| 国产91丝袜在线播放0| 一 级 黄 中国色 片| 二级片在线观看| 久久国产精品自由自在| 免费国产在线视频| 欧美国产日韩久久久| 久久国产精品只做精品| 国产伦精品一区二区三区无广告 | 精品国产三级a∨在线观看| 久草免费在线色站| 亚洲 激情| 日韩在线观看视频免费| 99久久精品国产麻豆| 日韩在线观看视频免费| 精品国产一区二区三区久久久狼| 黄视频网站免费看| 国产一级生活片| 欧美一级视频免费观看| 国产一区二区精品久久| 国产亚洲免费观看| 欧美一区二区三区在线观看| 国产成a人片在线观看视频| 国产福利免费视频| 亚欧成人毛片一区二区三区四区| 久久国产精品自由自在| 国产美女在线一区二区三区| 一级女性全黄生活片免费| 欧美α片无限看在线观看免费| 久久久成人影院| 国产麻豆精品免费视频| 国产91精品露脸国语对白| 九九久久国产精品大片| 国产视频一区二区三区四区 | 九九精品在线播放| 久草免费在线视频| 精品国产一区二区三区国产馆| 精品国产香蕉伊思人在线又爽又黄| 国产a毛片| 国产精品免费久久| 91麻豆精品国产高清在线| 欧美另类videosbestsex久久| 国产伦久视频免费观看 视频| 欧美一区二区三区在线观看| 亚洲女初尝黑人巨高清在线观看| 九九久久国产精品| 麻豆污视频| 日本在线www| 成人高清护士在线播放| 一级毛片看真人在线视频| 国产伦精品一区二区三区无广告 | 欧美另类videosbestsex久久| 亚欧视频在线| 日韩免费在线视频| 亚洲女人国产香蕉久久精品| 九九精品在线播放| 97视频免费在线| 免费毛片播放| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 欧美激情一区二区三区在线 | 国产成人精品综合| 四虎影视库|