style type="text/css"

專(zhuān)注于為中小企業(yè)提供網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)烏蘇免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了近千家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
!--
.tableborder {
border-top-width: 1px;
border-right-width: 1px;
border-bottom-width: 1px;
border-left-width: 1px;
/*以上分別設(shè)置的是表格邊框中上右下左的邊框?qū)挾?/
border-top-style: solid;
border-right-style: solid;
border-bottom-style: solid;
border-left-style: solid;
/*設(shè)置邊框的表現(xiàn)樣式,solid為實(shí)線*/
border-top-color: #0000FF;
border-right-color: #0000FF;
border-bottom-color: #0000FF;
border-left-color: #0000FF;
/*設(shè)置邊框的顏色*/
}
--
/style
table width="300" height="100" border="0" align="center" cellpadding="0" cellspacing="0" class="tableborder"
tr
tdclass="tableborder"是對(duì)樣式的調(diào)用,寫(xiě)在table標(biāo)簽內(nèi)/td
td /td
/tr
/table
我已經(jīng)做過(guò)canvas方面的開(kāi)發(fā)了,對(duì)html5這個(gè)新的api很了解,首先你不要在style里面設(shè)width跟height,可以告訴你最后跟你設(shè)的坐標(biāo)不一樣,這里面原因是canvas的原始設(shè)置是有固定高跟寬的,所以你光設(shè)置style的css值,會(huì)產(chǎn)生很多問(wèn)題,你就不要在css里面設(shè),直接這樣canvas width="" height="" 然后你為什么還會(huì)出現(xiàn)問(wèn)題呢,你的canvas有自己的margin,所以它不是緊貼著最左上邊的,你在style里面這樣設(shè)html,body{margin=0;padding=0}#canvas{margin=0;padding=0},我估計(jì)你是在這里遇到問(wèn)題了,你可以試試看
HTML5 Canvas基本繪制線條教程
怎么畫(huà)線條?和現(xiàn)實(shí)中畫(huà)畫(huà)差不多:
1.移動(dòng)畫(huà)筆,使畫(huà)筆移動(dòng)至繪畫(huà)的開(kāi)始處
2.確定第一筆的停止點(diǎn)
3.規(guī)劃好之后,選擇畫(huà)筆(包括畫(huà)筆的粗細(xì)和顏色等)
4.確定繪制
因?yàn)镃anvas是基于狀態(tài)的繪制(很重要,后面會(huì)解釋?zhuān)郧懊鎺撞蕉际窃诖_定狀態(tài),最后一步才會(huì)具體繪制。
1.移動(dòng)畫(huà)筆(moveTo())
之前我們獲得了畫(huà)筆context,所以以此為例,給出改方法的使用實(shí)例——context.moveTo(100,100)。這句代碼的意思是移動(dòng)畫(huà)筆至(100,100)這個(gè)點(diǎn)(單位是px)。記住,這里是以canvas畫(huà)布的左上角為笛卡爾坐標(biāo)系的原點(diǎn),且y軸的正方向向下,x軸的正方向向右。
2.筆畫(huà)停點(diǎn)(lineTo())
同理,context.lineTo(600,600)。這句的意思是從上一筆的停止點(diǎn)繪制到(600,600)這里。不過(guò)要清楚,這里的moveTo()``lineTo()都只是狀態(tài)而已,是規(guī)劃,是我準(zhǔn)備要畫(huà),還沒(méi)有開(kāi)始畫(huà),只是一個(gè)計(jì)劃而已!
3.選擇畫(huà)筆
這里我們暫且只設(shè)置一下畫(huà)筆的顏色和粗細(xì)。
context.lineWidth = 5,這句話的意思是設(shè)置畫(huà)筆(線條)的粗細(xì)為10px。
context.strokeStyle = "#AA394C",這句話的意思是設(shè)置畫(huà)筆(線條)的顏色為玫紅色。
因?yàn)镃anvas是基于狀態(tài)的繪制,所以我們?cè)谶x擇畫(huà)筆粗細(xì)和顏色的同時(shí),其實(shí)也是選擇了線條的粗細(xì)和顏色。
4.確定繪制
確定繪制只有兩種方法,fill()和stroke(),有點(diǎn)繪畫(huà)基礎(chǔ)的應(yīng)該知道,前者是指填充,后者是指描邊。因?yàn)槲覀冎皇抢L制線條,所以只要描邊就可以了。調(diào)用代碼context.stroke()即可。
畫(huà)一個(gè)線條
不就一條線段嗎!廢話了這么多!那我們就開(kāi)始畫(huà)吧。
JavaScript Code復(fù)制內(nèi)容到剪貼板你的瀏覽器居然不支持Canvas?!趕快換一個(gè)吧!!
運(yùn)行結(jié)果:
我還標(biāo)注了一個(gè)頁(yè)面解析圖,供大家參考。
這里我將原本
標(biāo)簽中的width和height去掉了,但在JavaScript代碼中設(shè)置了canvas對(duì)象的width和height的屬性。
小結(jié):要設(shè)置畫(huà)布的大小,只有這兩種方法
1.在標(biāo)簽中設(shè)置;
2.在JS代碼中設(shè)置canvas的'屬性.
怎么樣,是不是非常的酷。接下來(lái)我們要加快腳步了,繪制一個(gè)多線條組成的圖形。是不是感覺(jué)自己離藝術(shù)家又進(jìn)了一步呢?別看這只是簡(jiǎn)簡(jiǎn)單單的一條線段,這一畫(huà)只是我們的一小步,但卻是人類(lèi)的一大步!
繪制折線
上面我們已經(jīng)成功繪制了一條線段。那么,如果我要繪制有兩個(gè)筆畫(huà)甚至是很多筆畫(huà)的折線怎么辦呢?
聰明的小伙伴肯定已經(jīng)想到了,這還不簡(jiǎn)單,復(fù)用lineTo()就可以了。下面我就獻(xiàn)丑隨便畫(huà)了一條優(yōu)美的折線~
JavaScript Code復(fù)制內(nèi)容到剪貼板你的瀏覽器居然不支持Canvas?!趕快換一個(gè)吧!!
運(yùn)行結(jié)果:
繪制多條折線
那同理,我們要繪制多條樣式各不相同的折線怎么辦呢?比如我們?cè)谶@里畫(huà)三條折線,分別是紅色、藍(lán)色、黑色。聰明的小伙伴肯定想到了,這還不簡(jiǎn)單,只需要平移一下再改下畫(huà)筆顏色就行了。代碼格式都一樣的,復(fù)制就可以了。代碼如下。
JavaScript Code復(fù)制內(nèi)容到剪貼板你的瀏覽器居然不支持Canvas?!趕快換一個(gè)吧!!
運(yùn)行結(jié)果:
咦?是不是很奇怪?說(shuō)好的先紅色,再藍(lán)色,再黑色呢?怎么全是黑色了?其實(shí),這里的原因是我之前一直強(qiáng)調(diào)的一點(diǎn)——Canvas是基于狀態(tài)的繪制。
什么意思呢?其實(shí)這段代碼每次使用stroke()時(shí),它都會(huì)把之前設(shè)置的狀態(tài)再繪制一遍。第一次stroke()時(shí),繪制一條紅色的折線;第二次stroke()時(shí),會(huì)再重新繪制之前的那條紅色的折線,但是這個(gè)時(shí)候的畫(huà)筆已經(jīng)被更換成藍(lán)色的了,所以畫(huà)出的折線全是藍(lán)色的。換言之,strokeStyle屬性被覆蓋了。同理,第三次繪制的時(shí)候,畫(huà)筆顏色是最后的黑色,所以會(huì)重新繪制三條黑色的折線。所以,這里看到的三條折線,其實(shí)繪制了3次,一共繪制了6條折線。
那么,我想繪制三條折線,難道就沒(méi)有辦法了嗎?藝術(shù)家之魂到此為止了么?沒(méi)救了么?不,還有辦法。
使用beginPath()開(kāi)始繪制
為了讓繪制方法不重復(fù)繪制,我們可以在每次繪制之前加上beginPath(),代表下次繪制的起始之處為beginPath()之后的代碼。我們?cè)谌卫L制之前分別加上context.beginPath()。
JavaScript Code復(fù)制內(nèi)容到剪貼板你的瀏覽器居然不支持Canvas?!趕快換一個(gè)吧!!
可以看到,這里得到了我們預(yù)想的結(jié)果。因?yàn)槭褂昧薭eginPath(),所以這里的繪制過(guò)程如我們所想的那樣,只繪制了三次,而且每次只繪制一條折線。beginPath()是繪制設(shè)置狀態(tài)的起始點(diǎn),它之后代碼設(shè)置的繪制狀態(tài)的作用域結(jié)束于繪制方法stroke()、fill()或者closePath(),至于closePath()之后會(huì)講到。
所以我們每次開(kāi)始繪制前都務(wù)必要使用beginPath(),為了代碼的完整性,建議大家在每次繪制結(jié)束后使用closePath()。 ;
圖片有點(diǎn)小,看不太清楚
文字顏色與下劃線顏色不一致,說(shuō)明不是text-decoration:underline;來(lái)寫(xiě)的,應(yīng)該是劃了一條線,然后相對(duì)右邊的文字框定位;
下劃線鏈接著兩個(gè)文字框的兩條斜線,應(yīng)該是畫(huà)的兩條斜線,相對(duì)于文字框定位;
綜上所述:
1,線條是畫(huà)出來(lái)使用相對(duì)定位的;
2,線條有多種畫(huà)法,比如一個(gè)width=1px的div,然后css旋轉(zhuǎn);或者使用png圖片;或者h(yuǎn)tml5的canvas等
使用canvas 標(biāo)簽
但是canvas只是圖形容器,您必須使用腳本來(lái)繪制圖形
使用CANVAS繪制矩形
canvas id="myCanvas"/canvas
script type="text/javascript"
var canvas=document.getElementById('myCanvas');
var ctx=canvas.getContext('2d');
ctx.fillStyle='#00ff00';
ctx.fillRect(0,0,90,100);
/script
下面教大家畫(huà)條直線,代碼注釋很詳細(xì)不再多說(shuō)。
canvas id="canvas"/canvas
script type="text/javascript"
var canvas=document.getElementById("canvas");
//設(shè)置繪圖環(huán)境
var cxt=canvas.getContext('2d');
//開(kāi)啟新路近
cxt.beginPath();
// 設(shè)置筆觸的寬度
cxt.lineWidth=2;
//設(shè)置筆觸的顏色
cxt.strokeStyle="#ff0000";
//設(shè)定筆觸的位置
cxt.moveTo(20,20);
//設(shè)置移動(dòng)的位置
cxt.lineTo(200,20);
//畫(huà)線
cxt.stroke();//這個(gè)時(shí)候的線已經(jīng)出來(lái)了
//關(guān)閉路徑
cxt.closePath();
//凡事路徑圖形必須先開(kāi)始路徑,畫(huà)完之后必須結(jié)束路徑
/script
下邊代碼是畫(huà)三角形,分空心和實(shí)心兩種實(shí)現(xiàn)。
canvas id="canvas1" width="300" height="300" style="background-color: yellow;"/canvas
script type="text/javascript"
var canvas=document.getElementById("canvas1");
var cxt=canvas.getContext("2d");
cxt.beginPath();
cxt.moveTo(100,50);
cxt.lineTo(50,200);
cxt.lineTo(150,200);
cxt.closePath();//填充或閉合 需要先閉合路徑才能畫(huà)
//空心三角形
cxt.strokeStyle="red";
cxt.stroke();
//實(shí)心三角形
cxt.beginPath();
cxt.moveTo(250,50);
cxt.lineTo(200,200);
cxt.lineTo(300,200);
cxt.closePath();
cxt.fill();
/script
你看看這個(gè)效果,滿足要求否?
!DOCTYPE HTML
html
head
meta http-equiv="Content-Type" content="text/html; charset=utf-8"
title無(wú)標(biāo)題文檔/title
style
.box{width:400px;height:400px;margin:50px auto; transition:5s linear;}
.box div{width:180px;height:180px;margin:10px;border:1px solid #000; box-sizing:border-box;float:left;background:url(new_bg.png) no-repeat;}
.box div:nth-child(1),.box div:nth-child(4){ border-radius:0 70%;}
.box div:nth-child(2),.box div:nth-child(3){ border-radius:70% 0;}
.box:hover{ -webkit-transform:rotate(720deg);}
/style
/head
body
div class="box"
div/div
div/div
div/div
div/div
/div
/body
/html
網(wǎng)站名稱(chēng):html5線,html5線性漸變形狀
網(wǎng)頁(yè)路徑:http://chinadenli.net/article8/dseihop.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、網(wǎng)站排名、網(wǎng)站建設(shè)、搜索引擎優(yōu)化、品牌網(wǎng)站制作、用戶體驗(yàn)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)