真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

HTML5中SVG的文檔結(jié)構(gòu)及相關(guān)元素有哪些-創(chuàng)新互聯(lián)

HTML5中SVG的文檔結(jié)構(gòu)及相關(guān)元素有哪些,針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

公司主營業(yè)務(wù):網(wǎng)站設(shè)計、成都網(wǎng)站設(shè)計、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)推出東港免費(fèi)做網(wǎng)站回饋大家。

結(jié)構(gòu)相關(guān)的組合和重用元素,這里先對SVG的文檔結(jié)構(gòu)中的相關(guān)元素簡單總結(jié)一下,然后繼續(xù)向前領(lǐng)略SVG的其他特性。
SVG文檔的元素基本可以分為以下幾類:
•動畫元素:animate,animateColor,animateMotion,animateTransform,set;
•解釋元素:desc,metadata,title;
•圖形元素:circle,ellipse,line,path,polygon,polyline,rect;
•結(jié)構(gòu)元素: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等。
其中圖形元素,漸變元素,文本,圖像元素和組合等都介紹過了,下面介紹另外幾個與結(jié)構(gòu)相關(guān)的元素。

視窗-svg元素
可以在svg元素中以任何順序放置任何的其他元素,包括嵌套svg元素。
svg元素支持的屬性常用的也就是id,class,x,y,width,height,viewBox,preserveAspectRatio,以及fill和stroke的相關(guān)屬性。
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元素,這兩個元素都是輔助性的元素,用于解釋相關(guān)情境;它們的內(nèi)容都是文本。當(dāng)SVG文檔被渲染的時候,這2個元素不會被渲染到圖形中。這個2個元素之間差別不是太大,title在有些實(shí)現(xiàn)中是作為提示信息出現(xiàn)的,所以通常title是放到父元素的第一個位置上。
典型的用法如下:



代碼如下:




Companysalesbyregion

Thisisabarchartwhichshows
companysalesbyregion.





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

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

標(biāo)記是由marker元素定義的,然后在path,line,polyline或者polygon中設(shè)置相關(guān)的屬性(marker,marker-start,marker-mid,和marker-end)就可以了。看個例子:



代碼如下:


viewBox="0040002000"version="1.1"
xmlns="http://www.w3.org/2000/svg">

viewBox="001010"refX="0"refY="5"
markerUnits="strokeWidth"
markerWidth="4"markerHeight="3"
orient="auto">



Placinganarrowheadattheendofapath.

fill="none"stroke="black"stroke-width="100"
marker-end="url(#Triangle)"/>



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

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

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

腳本與樣式-script元素與style元素
實(shí)際上,基本上所有的屬性(對于所有元素,不僅是文本)都可以用CSS與一個元素關(guān)聯(lián),并且所有CSS屬性都在SVG圖像中可用??梢灾苯佑脴邮綄傩栽O(shè)計元素的樣式,或者引用樣式表設(shè)計元素的樣式。對XML文件來說不應(yīng)該解析樣式表(因?yàn)樗鼈兣紶柊瑫饐栴}的字符),因此需要將它們置于XMLCDATA節(jié)。腳本也是同樣的道理,需要放到XMLCDATA節(jié)中。看下面的CSS例子:



代碼如下:



Text

.abbreviation{text-decoration:underline;}
]]>



Colorscanbespecified
bytheir
R
G
Bvalues
orbykeywordssuchas

lightsteelblue,




再看腳本的例子:



代碼如下:



Scriptingtheonclickevent


functionhideReveal(evt){
varimageTarget=evt.target;
vartheFill=imageTarget.getAttribute("fill");
if(theFill=='white')
imageTarget.setAttribute("fill","url(#notes)");
else
imageTarget.setAttribute("fill","white");
}
]]>

patternTransform="rotate(15)"
patternUnits="userSpaceOnUse">

stroke-width="3"stroke="black"/>
stroke-width="3"stroke="black"/>


fill="url(#notes)"stroke="black"stroke-width="5"/>



條件處理-switch元素
條件處理屬性是能控制所在元素渲染與否的屬性。基本上大多數(shù)的元素(特別是圖形元素)都可以指定條件處理屬性。條件處理屬性有3個:requiredFeatures,requiredExtensions和systemLanguage。這些屬性就是一組測試,都允許指定一個值列表(前面兩個屬性是空格隔開的,語言這個屬性是使用逗號隔開的),默認(rèn)值都為true。

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

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



代碼如下:



x="10"y="10"width="322"height="502"opacity="0.6"
fill="black"stroke="none"filter="url(#gblurshadow)"/>
fill="black"stroke="none"/>



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



代碼如下:




de-HAHA
en-haha


關(guān)于HTML5中SVG的文檔結(jié)構(gòu)及相關(guān)元素有哪些問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。


當(dāng)前標(biāo)題:HTML5中SVG的文檔結(jié)構(gòu)及相關(guān)元素有哪些-創(chuàng)新互聯(lián)
標(biāo)題來源:http://weahome.cn/article/digcho.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部