您好,登錄后才能下訂單哦!
這篇文章主要介紹“html5筆畫與填充的方法”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“html5筆畫與填充的方法”文章能幫助大家解決問題。
填充色 - fill屬性
這個屬性使用設置的顏色填充圖形內部,使用很簡單,直接把顏色值賦給這個屬性就可以了。看例子:
復制代碼 代碼如下:
fill-opacity="0.5" stroke-opacity="0.8"/>
上面例子中畫了一個紅色藍邊的矩形。注意幾點:
1. 如果不提供fill屬性,則默認會使用黑色填充,如果要取消填充,需要設置成none。
2. 可以設置填充的透明度,就是fill-opacity,值的范圍是0到1。
3. 稍微復雜一點的是fill-rule屬性。這個屬性定義了判斷點是不是屬于填充范圍的算法;除了inherit這個值外,還有兩個取值:
prop-value">nonzero:這個值采用的算法是:從需要判定的點向任意方向發射線,然后計算圖形與線段交點的處的走向;計算結果從0開始,每有一個交點處的線段是從左到右的,就加1;每有一個交點處的線段是從右到左的,就減1;這樣計算完所有交點后,如果這個計算的結果不等于0,則該點在圖形內,需要填充;如果該值等于0,則在圖形外,不需要填充。看下面的示例:
evenodd:這個值采用的算法是:從需要判定的點向任意方向發射線,然后計算圖形與線段交點的個數,個數為奇數則改點在圖形內,需要填充;個數為偶數則點在圖形外,不需要填充。看下圖的示例:
邊框色 - stroke屬性
上面的例子中已經用到了stroke屬性,這個屬性使用設置的值畫圖形的邊框,使用起來也很直接,把顏色值賦給它就可以了。注意:
1. 如果不提供stroke屬性,則默認不繪制圖形邊框。
2. 可以設置邊的透明度,就是stroke-opacity,值的范圍是0到1。
實際上,邊的情況比圖形內部稍微復雜一點,因為邊除了顏色,還有"形狀"需要定義。
線的端點 - stroke-linecap屬性
這個屬性定義了線段端點的風格,這個屬性可以使用butt,square,round三個值。看例子:
復制代碼 代碼如下:
這段代碼繪制了3條使用不同風格線端點的線,
從左面的圖中我們可以很容易看出3中風格的不同。
線的連接 - stroke-linejoin屬性
這個屬性定義了線段連接處的風格,這個屬性可以使用miter,round,bevel三個值。看例子:
復制代碼 代碼如下:
stroke-linecap="butt" fill="transparent" stroke-linejoin="miter"/>
stroke-linecap="round" fill="transparent" stroke-linejoin="round"/>
stroke-linecap="square" fill="transparent" stroke-linejoin="bevel"/>
從左面的圖中我們很容易看到3中風格的不同。
線的虛實 - stroke-dasharray屬性
這個屬性可以設置線段采用何種虛實線。看例子:
復制代碼 代碼如下:
stroke-linecap="round" stroke-dasharray="5,10,5" fill="none"/>
stroke-linecap="round" stroke-width="1" stroke-dasharray="5,5" fill="none"/>
這個屬性是設置一些列數字,不過這些數字必須是逗號隔開的。
屬性中當然可以包含空格,但是空格不作為分隔符。每個數字
定義了實線段的長度,分別是按照繪制、不繪制這個順序循環下去。
所以左面的例子中繪制的線是畫5單位的實線,留5單位的空格,
再畫5單位的實線...這樣一直下去。
除了這些常用的屬性,還有下列屬性可以設置:
stroke-miterlimit:這個和canvas中的一樣,它處理什么時候畫和不畫線連接處的miter效果。
stroke-dashoffset:這個屬性設置開始畫虛線的位置。
使用CSS展示數據
HTML5強化了DIV+CSS的思想,所以展示數據的部分還可以交給CSS處理。與普通HTML元素相比,只不過是 background-color和border換成了fill和stroke。其他的大多都差不多。簡單看個例子:
復制代碼 代碼如下:
#MyRect:hover {
stroke: black;
fill: blue;
}
是不是很熟悉,就是這么簡單的。
關于“html5筆畫與填充的方法”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。