中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

HTML5之SVG 2D入門8—文檔結構及相關元素總結
來源:易賢網 閱讀:1683 次 日期:2016-07-22 14:58:26
溫馨提示:易賢網小編為您整理了“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>

更多信息請查看網頁制作
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
欧美久久久久免费| 国产亚洲视频在线观看| 国产精品第三页| 亚洲综合社区| 国产欧美精品xxxx另类| 小处雏高清一区二区三区| 国产日韩一区二区| 日韩午夜av电影| 国产精品久久久久久久久免费樱桃 | 国产精品白丝jk黑袜喷水| 久久久久国产精品麻豆ai换脸| 亚洲男女自偷自拍| 亚洲免费在线观看视频| 中文日韩在线| 国产精品99久久久久久久久久久久| 亚洲电影下载| 亚洲国产你懂的| 亚洲日本欧美| 亚洲精品一区二区在线| 亚洲美女电影在线| 99热免费精品| 国产精品99久久久久久久vr | 一区二区三区日韩欧美| 亚洲最新在线| 亚洲嫩草精品久久| 欧美在线一二三四区| 久久久99久久精品女同性| 久久综合五月天婷婷伊人| 欧美成人一区二区三区在线观看 | 国产伦精品一区二区三区免费迷 | 国产精品久久久久9999高清| 欧美激情一二区| 欧美日韩免费在线| 欧美日韩国产综合新一区| 欧美在线|欧美| 欧美77777| 亚洲一区精品视频| 一片黄亚洲嫩模| 一区二区av| 午夜免费日韩视频| 老司机午夜免费精品视频 | 欧美精品在线极品| 欧美激情一区二区三级高清视频| 欧美va天堂va视频va在线| 欧美成人一二三| 国产精品美女一区二区在线观看| 国产精品人人做人人爽人人添| 国产精品久久午夜| 国产精品美女黄网| 一区在线视频| 亚洲电影在线播放| 久久精品网址| 国产精品福利在线观看网址| 在线免费不卡视频| 亚洲久久视频| 久久亚洲风情| 国产精品毛片va一区二区三区 | 欧美高清在线观看| 国产精品美女久久久| 亚洲国产天堂久久综合| 欧美一级在线播放| 欧美日韩在线视频首页| 亚洲高清一二三区| 欧美一区二区三区四区高清| 欧美日韩国产影院| 亚洲二区免费| 久久精品在线观看| 国产精品亚洲人在线观看| 亚洲黄色成人网| 久久久久九九视频| 国产精品视频免费一区| 亚洲电影观看| 久久这里有精品视频| 国产精品久久毛片a| 亚洲美女诱惑| 蜜臀久久99精品久久久画质超高清| 欧美三级电影一区| 亚洲国产精品一区在线观看不卡 | 亚洲国产视频直播| 亚洲欧美国产精品va在线观看| 久久精品国产一区二区三| 国产精品视频区| 日韩性生活视频| 欧美激情一区二区三区成人 | 亚洲欧美日韩国产综合在线 | 亚洲视频在线观看视频| 久久综合九色综合欧美狠狠| 久久久久久久久岛国免费| 亚洲欧美日韩爽爽影院| 欧美日韩日日夜夜| 日韩午夜精品视频| 久久久国产精品一区二区中文 | 久久免费视频观看| 在线激情影院一区| 欧美日韩中文在线| 宅男噜噜噜66国产日韩在线观看| 蜜月aⅴ免费一区二区三区| 欧美国产日韩一区| 91久久精品一区二区别| 亚洲视频在线观看免费| 国产精品系列在线播放| 国产一区在线播放| 国产精品欧美久久| 亚洲视频免费在线观看| 欧美日韩和欧美的一区二区| 一片黄亚洲嫩模| 国产精品一区二区久久| 久久电影一区| 在线观看日韩| 欧美三级韩国三级日本三斤| 久久久久99| 欧美jizz19性欧美| 国产午夜精品全部视频在线播放 | 国产精品jizz在线观看美国| 在线一区日本视频| 国产精品高潮呻吟视频| 新片速递亚洲合集欧美合集| 欧美视频一区二区| 欧美一区观看| 香蕉免费一区二区三区在线观看| 亚洲精品日本| 久久免费视频网| 亚洲精品久久在线| 免费观看成人www动漫视频| 黄色成人在线免费| 午夜精品免费| 久久精品国产久精国产一老狼| 国产精品高清一区二区三区| 韩国免费一区| 欧美无乱码久久久免费午夜一区 | 亚洲福利视频网站| 最新中文字幕亚洲| 欧美肥婆bbw| 一区二区国产日产| 国产亚洲欧美日韩美女| 国产精品久久久久毛片软件 | 国产精品欧美日韩久久| 亚洲国产精品久久久久| 欧美日韩在线电影| 久久久久久香蕉网| 亚洲精品视频啊美女在线直播| av成人激情| 亚洲综合成人婷婷小说| 欧美日韩一区二区三区免费 | 欧美精品一区在线| 午夜视频在线观看一区二区| 亚洲国产三级网| 国产日韩精品一区观看| 亚洲高清自拍| 国产精品啊v在线| 欧美三区在线| 久久网站免费| 欧美日本高清| 午夜国产欧美理论在线播放| 精品1区2区| 激情亚洲网站| 欧美大秀在线观看| 影音先锋亚洲精品| 男人的天堂亚洲| 亚洲天堂久久| 久久精品国产清高在天天线| 欧美天堂在线观看| 久久精品青青大伊人av| 91久久夜色精品国产网站| 欧美伊人久久久久久午夜久久久久| 国产精品老女人精品视频| 亚洲午夜高清视频| 国产欧美日韩视频一区二区| 亚洲欧美三级在线| 亚洲精品123区| 欧美xxx成人| 国产欧美韩国高清| 亚洲风情亚aⅴ在线发布| 亚洲女ⅴideoshd黑人| 日韩视频中文字幕| 亚洲欧美日韩国产一区二区| 在线免费观看视频一区| 中文在线不卡| 久久久欧美一区二区| 国产精品一区一区三区| 国产精品多人| 性欧美超级视频| 在线亚洲+欧美+日本专区| 欧美一区二区| 国产免费一区二区三区香蕉精| 一区二区三区蜜桃网| 久久先锋影音| 亚洲婷婷综合色高清在线| 国产精品羞羞答答xxdd| 欧美日产国产成人免费图片| 国产亚洲午夜高清国产拍精品| 欧美freesex8一10精品| 欧美日韩视频一区二区| 中文日韩在线| 国产精品激情偷乱一区二区∴| 永久免费精品影视网站| 香蕉久久久久久久av网站 | 亚洲三级视频| 99日韩精品| 亚洲一级网站|