明:SVG 雖然也是標簽,但它不是 HTML5,標題加了 HTML5 只是為了與 canvas 放到一起。
SVG 意為可縮放矢量圖形(Scalable Vector Graphics),使用 XML 格式定義矢量圖形。其他的圖像格式都是基于像素的,但是 SVG 沒有單位的概念,它的20只是表示1的20倍,所以 SVG 繪制的圖形放大或縮小都不會失真。
與其他圖像比較,SVG 的優勢有以下幾點:
2.1、svg 標簽
SVG 的代碼都放到 svg 標簽呢,SVG 中的標簽都是閉合標簽,與html中標簽用法一致。svg的屬性有:
eg:畫一條直線,完整代碼如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body style="height:600px;">
<svg width="300" height="300">
<line x1="0" y1="0" x2="100" y2="100" stroke="black" stroke-width="20"></line>
</svg>
</body>
</html>
上述 svg 設置的寬高沒有帶單位,此時默認是像素值,如果需要添加單位時,除了絕對單位,也可以設置相對單位。
使用語法:<svg viewBox=" x1,y1,width,height "></svg>
四個參數分別是左上角的橫縱坐標、視口的寬高。表示只看SVG的某一部分,由上述四個參數決定。
使用 viewBox 之后,相當于svg整體大小不變,只能看到 viewBox 設置部分,視覺上被放大。
2.2、SVG 如何嵌入 HTML
SVG 的代碼可以直接嵌入到 html 頁面中,也可以通過 html 的embed、object、iframe嵌入到html中。嵌入的時候嵌入的是 SVG 文件,SVG 文件必須使用 .svg 后綴。分別介紹各種方法如何使用?
2.2.1、embed 嵌入:
使用語法:<embed src="line.svg" type="image/svg+xml"></embed>
src是SVG文件路徑,type 表示 embed 引入文件類型。
優點:所有瀏覽器都支持,并允許使用腳本。
缺點:不推薦 html4 和 html 中使用,但 html5 支持。
2.2.2、object 嵌入:
使用語法:<object data="line.svg" type="image/svg+xml"></object>
data 是 SVG 文件路徑,type 表示 object 引入文件類型。
優點:所有瀏覽器都支持,支持 html、html4 和 html5。
缺點:不允許使用腳本。
2.2.3、iframe 嵌入:
使用語法:<iframe width="300" height="300" src="./line.svg" frameborder="0"></iframe>
src是 SVG 文件路徑,width、height、frameborder 設置的大小和邊框。
優點:所有瀏覽器都支持,并允許使用腳本。
缺點:不推薦 html4 和 html 中使用,但 html5 支持。
2.2.4、html中嵌入:
svg 標簽直接插入 html 內容內,與其他標簽用法一致。
2.2.5、連接到svg文件:
使用 a 標簽,直接鏈接到 SVG 文件。
使用語法:<a href="line.svg">查看SVG</a>
3.1、線 - line
使用語法:
<svg width="300" height="300" >
<line x1="0" y1="0" x2="300" y2="300" stroke="black" stroke-width="20"></line>
</svg>
使用line標簽創建線條,(x1,y1)是起點,(x2,y2)是終點,stroke繪制黑線,stroke-width是線寬。
3.2、矩形 - rect
//使用語法:
<svg width="300" height="300" >
<rect
width="100" height="100" //大小設置
x="50" y="50" //可選 左上角位置,svg的左上角默認(0,0)
rx="20" ry="50" //可選 設置圓角
stroke-width="3" stroke="red" fill="pink" //繪制樣式控制
></rect>
</svg>
上述參數 width、height是必填參數,x、y是可選參數,如不設置的時候,默認為(0,0),也就是svg的左上角開始繪制。rx、ry是可選參數,不設置是矩形沒有圓角。fill定義填充顏色。
3.3、圓形 - circle
// 使用語法
<svg width="300" height="300" >
<circle
cx="100" cy="50" // 定義圓心 ,可選
r="40" // 圓的半徑
stroke="black" stroke-width="2" fill="red"/> //繪制黑框填充紅色
</svg>
上述(cx,xy)定義圓心的位置,是可選參數,如果不設置默認圓心是(0,0)。r是必需參數,設置圓的半徑。
3.4、橢圓 - ellipse
橢圓與圓相似,不同之處在于橢圓有不同的x和y半徑,而圓兩個半徑是相同的。
// 使用語法
<svg width="300" height="300" >
<ellipse
rx="20" ry="100" //設置橢圓的x、y方向的半徑
fill="purple" // 橢圓填充色
cx="150" cy="150" //設置橢圓的圓心 ,可選參數
></ellipse>
</svg>
上述橢圓的兩個rx、ry兩個方向半徑是必須參數,如果rx=ry就表示是圓形,(cx,cy)是橢圓的圓心,是可選參數,如果不設置,則默認圓心為(0,0)。
3.5、折線 - polyline
// 使用語法
<svg width="300" height="300" style="border:solid 1px red;">
<!-- 繪制出一個默認填充黑色的三角形 -->
<polyline
points=" //點的集合
0 ,0, // 第一個點坐標
100,100, // 第二個點坐標
100,200 // 第三個點坐標
"
stroke="green"
></polyline>
<!-- 繪制一個臺階式的一條折線 -->
<polyline
points="0,0,50,0,50,50,100,50,100,100,150,100,150,150"
stroke="#4b27ff" fill="none"
></polyline>
</svg>
上述代碼執行結果如圖所示:
需要注意的是 points 中包含了多個點的坐標,但不是一個數組。
3.6、多邊形 - polygon
polygon 標簽用來創建不少于3個邊的圖形,多邊形是閉合的,即所有線條連接起來。
// 使用語法
<svg width="300" height="300" style="border:solid 1px red;">
<polygon
points="
0,0, //多邊形的第一點
100,100, //多邊形的第二點
0,100 //多邊形的第三點
"
stroke="purple"
stroke-width="1"
fill="none"
></polygon>
</svg>
polygon繪制的時候與折線有些類似,但是polygon會自動閉合,折線不會。
3.7、路徑 - path
path 是SVG基本形狀中最強大的一個,不僅能創建其他基本形狀,還能創建更多其他形狀,如貝塞爾曲線、2次曲線等。
點個關注,下篇更精彩!
能源人都在看,點擊右上角加'關注'】
近幾年來,隨著新能源汽車行業的蓬勃發展,新能源汽車市場和國家補貼政策對鋰離子動力電池的能量密度、循環壽命、安全性能和電池成本不斷提出更高的要求。因此,電池廠商高度重視生產過程中的品質管控,努力提高產品的質量和一致性,并盡可能降低電池生產成本。
在鋰離子電池工藝開發和品質管控過程中,極片制造屬于前段工序,在整個過程中占據著重要位置。日本電池界普遍認為,電池的質量有70%與極片品質有關。究其原因,在于極片品質好壞不僅影響電池中段組裝工序,而且會對后段工序、電池的電化學性能和安全性能產生關鍵性的影響。美國橡樹嶺國家實驗室的研究[1]表明,在制造成本為502.8 $/kWh的電池中,采用先進的極片制造技術可減少111 $/kWh的成本支出,因此極片制造技術在降低電池制造成本中發揮著重要作用。
鋰離子電池極片制造包括合漿、極片涂布和干燥、極片的輥壓和裁切等工序。在之前的文章[2]中已詳細講述了鋰離子電池合漿工藝的方法和技巧。除合漿工序外,極片涂布和干燥也是制備高品質極片的重要環節。在實際的極片涂布和干燥過程中可能出現各種涂布和干燥缺陷,不利于制備具有均一厚度和面密度的極片,嚴重影響極片性能和良品率。本文主要從各類極片缺陷的形成機制、防治措施和檢測方法等三個方面進行了概括和介紹,并對極片制造技術的發展趨勢進行了展望。
極片缺陷的種類、形成機制和防治措施
在極片涂布和干燥過程中,可能出現的缺陷主要分為三類:點狀缺陷、線狀缺陷和邊緣缺陷。點狀缺陷包括團聚體顆粒、針孔缺陷和縮孔缺陷等;線狀缺陷主要包括劃痕、豎條紋和橫條紋缺陷等;邊緣缺陷主要包括厚邊和拖尾現象等。下面就各種缺陷的形成機制和防治措施進行介紹。
1.1 點狀缺陷
1.1.1 團聚體顆粒
如圖1所示,如果漿料攪拌不均勻,導電劑和粘結劑沒有形成良好的分散效果,極片表面會出現大面積的凸起,即導電劑的團聚體[3]。此外,漿料、涂布設備或涂布基材中引入Fe、Cu、Zn、Al等金屬粉末,極片表面會形成以金屬粉末為核心、漿料物質為表層的團聚體。攪拌過程中,環境濕度太高,導致正極漿料成果凍狀態,極片輥壓后也會出現團聚體顆粒[4-5]。
(A)極片表面光滑,(B)極片表面存在團聚體顆粒;(a,b)為(B)的細節放大圖,其中導電劑的團聚體沒有完全分散;(c,d)為(A)的細節放大圖,其中導電劑充分分散、均勻分布
圖1 由球形石墨+SUPERC65+CMC+蒸餾水制備的極片[3]
極片出現團聚體缺陷后,在輥壓極片時較軟的顆粒可被碾成粉末、從極片表面脫落,較硬的顆粒則會凸顯出來、形成尖點,存在刺破隔膜、短路的安全隱患[6-7]。研究[8-9]表明,極片表面出現團聚體顆粒會對電池的電壓、電壓衰減和循環壽命等造成不利影響。此外,以Fe、Cu、Zn、Al等金屬粉末為核心的團聚體也會對電池造成巨大的危害[5]。尺寸較大的金屬顆粒可刺穿隔膜,導致正負極之間短路,即物理短路;當金屬異物混入正極后,充電之后正極電位升高,金屬發生溶解、通過電解液擴散,然后在負極表面析出,也可刺穿隔膜、造成短路,這種稱為化學溶解短路。
針對團聚體缺陷的形成機制,團聚體缺陷主要通過優化合漿工藝和環境清潔除塵來消除。
1.1.2 縮孔缺陷
如圖2所示,在涂布過程中,涂布基材受到較低表面張力物體(如油滴、灰塵等)的污染后,污染物周圍的涂布溶液會流向具有較高表面張力的方向,形成像火山口或酒窩狀的縮孔缺陷[10-13]。材料之間表面張力不匹配,是產生縮孔缺陷的主要誘因,但漿料的粘度、流動性以及干燥風速和溫度等都可能改變表面張力及其作用過程,從而誘發形成縮孔缺陷。例如,過低粘度(~1 500 mPa·s)的水性漿料在涂布后,溶液因表面張力不同會脫離疏水的石墨、積聚到表面張力較高的位置,形成縮孔缺陷[13]。
圖2 縮孔缺陷的(a)形成機制示意圖[13],(b)極片微觀形貌圖[13]和(c)含火山口狀缺陷的極片外觀圖
針對縮孔缺陷的形成原因,相應的防治措施[10,12]有:(a)控制環境粉塵;(b)漿料過濾除鐵、基材表面清潔;(c)選用相容性好的分散劑或分散介質;(d)提高漿料粘度和縮短干燥時間等。
1.1.3 針孔缺陷
濕膜中的氣泡從內層向表面遷移,在膜表面破裂會形成針孔缺陷[11-12](圖3)。氣泡主要來自攪拌、涂液輸運以及涂布過程[12]。針孔缺陷處活性物質涂層較薄,在電池充放電過程中最易造成微短路;正極涂層出現針孔缺陷會降低材料的庫侖效率、倍率性能和循環性能。因此涂布前的漿料需做好脫泡處理。
圖3 針孔缺陷的(a)極片外觀圖和(b)極片微觀形貌圖[14]
1.1.4橘皮缺陷
在涂布過程中,由于溶劑揮發,不同的區域產生溫度差,漿料上層和底層形成濃度差,形成表面張力的梯度及自然對流的現象,涂布溶液就會發生遷移,最終造成涂布表面不平整、形成橘皮缺陷(圖4)。烘箱的干燥速率過快或熱風風速過快,溶液在流平前就提早固化,也形成橘皮缺陷[11]。
圖4 (a)真的橘皮和(b)具有橘皮缺陷的極片
抑制橘皮缺陷的形成,可采取以下措施[11]:(a)降低干燥速率,讓溶液可以有足夠的時間流平;(b)在溶液里添加一些低揮發的溶劑、表面活性劑等,減小溫度差和濃度差。
1.2 線狀缺陷
1.2.1 劃痕
涂布過程中,大顆粒聚集在出料狹縫,所制備涂層會出現與涂布方向平行的線狀薄區或漏箔線條[15]。這導致涂層不均勻,會影響電池容量的一致性。除此之外,基材質量不佳,有異物擋在涂布間隙上或模具模唇損傷也會造成劃痕(圖5),要注意排查原因。
圖5 涂布過程中的劃痕缺陷[14]
1.2.2 規律豎條紋缺陷
如圖6所示,規律豎條紋缺陷是沿涂布方向出現的平行條紋,并且覆蓋整個涂布幅面,就像拿個梳子或者鋤地的耙子沿機器方向抓,人為地抓出了外觀一樣的缺陷。從流體動力學的角度來講,涂布漿料受到本身粘彈力、慣性力和表面張力等作用力,在不同方向疊加產生的受力差異會造成涂布厚度的不均勻分布,即形成規律豎條紋。涂布后肉眼很容易觀察到這種缺陷,在烘干過程中也很難通過流平消除[16]。如果極片出現團聚體、針孔和劃痕等缺陷,可切割去除;但一旦發生豎條紋缺陷,極片幾乎找不到一塊能用的部分,產品得率就降到0%。
圖6 規律豎條紋的(a)極片外觀圖和(b)示意圖[16]
防治措施[16]主要有:(a)確定工藝是否在合理的工藝窗口內,調整涂布工藝參數,降低涂布速度;(b)降低涂輥與背輥之間的涂布間隙;(c)添加溶劑或表面活性劑,稀釋漿料,降低漿料粘度;(d)減小輥子的直徑。
1.2.3 橫條紋缺陷
橫條紋缺陷是垂直于涂布方向,固定間隔所產生的波紋或線條,主要是由于泵輸送的漿料流量不穩定和涂布設備振動造成的[17]。所以避免橫條紋的出現可更換泵和涂布設備,涂布頭增加真空盒等來改善。
1.3 邊緣缺陷
1.3.1 厚邊現象
由于漿料流體特性,在涂層起始點、終止點以及兩側邊緣容易形成半月形,極片邊緣出現厚度突增的現象稱為厚邊現象[18](圖7)。厚邊現象形成本質是在表面張力驅動下物質發生遷移。極片干燥時,涂布邊緣比內部區域溶劑揮發快,涂布漿料流向高表面張力的邊緣區堆積,使得邊緣過厚[10,12]。
圖7 厚邊缺陷示意圖[12]
厚邊的危害比較大:(a)影響極片的輥壓、分切和卷繞工藝,極片受力不均會造成極片翹曲度過大,增大后續分切、卷繞難度;(b)在充放電過程中,電流分布不均勻,容易產生極化;(c)在充放電膨脹/收縮過程中因極片受力不一致,厚邊緣更易失效,影響電池性能。一般地,3C電池工藝設計時,可切除極片邊緣來消除這種厚邊的不利影響。動力電池要求高功率和高能量,電池設計往往需要保留涂層邊緣[19],因此厚邊現象需高度重視。
針對厚邊缺陷,可采取以下措施[10,12,19]進行解決:(a)添加界面活性劑,降低漿料的表面張力,抑制干燥過程中漿料向邊緣的流延;(b)優化狹縫墊片出口形狀,改變漿料流動速度,降低邊緣漿料的應力狀態,減弱漿料邊緣膨脹效應;(c)減小涂布間隙。以上措施效果比較有限,最重要的還是需要依靠高精度的涂布設備來改善。
1.3.2 拖尾現象
漿料粘度太低或固含量過低時,漿料發生固液分層,因液體的流動性比固體好,當固體停止流動時液體部分或者固含量低的部分還會向外流動,就會形成拖尾現象(圖8)。拖尾現象又分為水印式拖尾和鋸齒狀拖尾。水印區域無活性物質和導電劑存在,造成面密度不均的概率較低,因此水印式拖尾危害較小。發生鋸齒狀拖尾現象時,極片面密度不均勻現象嚴重,危害較大。另外,漿料發生沉降或者正極漿料出現“果凍”現象也會出現拖尾現象。
圖8 有拖尾現象的極片外觀圖
除漿料固含量和粘度外,基材和漿料的表面張力差異性也會引起拖尾現象。漿料在基材上潤濕要求漿料的表面張力低,基材的表面能高;否則在涂布后涂層會很快脫潤濕,即涂層從已涂布的地方縮回。因此,除制備固含量和粘度適宜的漿料外,還應從這兩方面注意抑制拖尾或回縮現象的產生[10]:(a)基材的表面能與漿料的表面張力要匹配,基材的表面能要高,涂料液體的表面張力要低;(b)防止基材表面干燥點的出現。
極片缺陷的檢測技術
前文提到的團聚體、劃痕、厚邊、條紋、拖尾和橘皮等極片缺陷,會嚴重影響電池的一致性、使用壽命和安全性能,有效地鑒別和剔除存在缺陷和瑕疵的極片,提高極片品質和一致性勢在必行。傳統的人工檢測方法效率低、誤差大,且無法保證檢測質量,難以滿足鋰離子電池大規模生產的需求。近年來,具有精度高、速度快和非接觸等優點的現代科學技術不斷發展和完善起來。目前,針對極片品質的檢測技術主要有:射線法測厚技術、激光測厚技術、機器視覺檢測和紅外熱成像技術。
2.1 射線法測厚技術——采用X射線或β射線測量涂層的厚度和面密度
X射線或β射線穿透物質時,被物質反射、散射、吸收,導致穿透的射線強度相對于入射射線強度有一定衰減。衰減比例與被穿透物體的厚度/密度呈負指數關系。通過測量穿透前后的射線強度,即可推斷出物質的厚度/面密度[20]。該方法可直接獲得涂布極片的厚度和面密度值,測量精度高;但設備昂貴、輻射源的維護管理成本也較高,且使用不當會對人體造成傷害。
2.2 激光測厚技術——檢測極片面密度和缺陷
激光測厚儀一般是由兩個激光位移傳感器上下對射的方式組成的,上下的兩個傳感器分別測量被測體上表面位置和下表面位置,通過計算得到被測體的厚度。激光在線測厚技術應用于測量極片的厚度,測量精度可達±1.0μm,還能實時顯示測量厚度及厚度變化趨勢,便于數據追溯和分析[20]。利用激光測厚儀[21-22]可剔除存在厚邊、針孔和團聚體等缺陷的極片。
2.3 機器視覺檢測技術——檢測極片缺陷
所謂“機器視覺”,就是利用機器代替人眼來做測量和判斷,主要是通過采用圖像控制器(CCD)掃描被測物,圖像實時處理及分析缺陷類別,實現對極片表面缺陷的無損在線檢測。完整的機器視覺系統綜合了光學、機械、電子和計算機軟硬件等技術,可檢測出0.2mm×0.2 mm及以上的缺陷,檢測速度達60個/min,具有檢查精度高、處理速度快、抗干擾能力強和運轉時安穩可靠等優勢,在大規模批量生產模式下可替代流水線員工進行鋰離子電池極片進行全面檢測。
機器視覺檢測在鋰離子電池制造安全檢測中具有明顯優勢,但離大規模的普及應用還存在一定距離,主要是由于部分電池企業生產工藝、產線自動化程度和進口視覺檢測設備兼容性不高,對機器視覺檢測系統的功效存在疑惑。因此除少數大型電池廠商和先進企業率先開始應用之外,大多數企業仍持觀望態度。
2.4 紅外線熱成像技術——檢測極片缺陷
紅外線熱成像技術也可用來檢測極片缺陷。紅外線熱成像技術將物體熱輻射的紅外線特定波段信號轉換成人眼可見的圖像,并以不同顏色顯示物體表面溫度分布。當物體表面存在缺陷時,該區域會出現溫度偏移;在熱成像技術獲取的極片溫度分布曲線中,具體表現為缺陷點位置出現溫度尖峰,其中溫度升高的尖峰對應團聚體,溫度降低的尖峰對應針孔或者掉料[5,23] 。紅外線熱成像技術可有效鑒別一些光學探測手段無法分辨的缺陷,是一種高效的極片表面缺陷探測手段。目前,紅外線熱成像技術僅用于科學基礎研究,距離工業化應用還存在較大距離。
展 望
極片涂布和干燥過程中可能會出現團聚體、針孔、劃痕、厚邊和拖尾等缺陷,抑制極片缺陷的形成和及時剔除存在缺陷的極片,對于提高鋰離子電池的電化學性能、安全性能、一致性意義和降低電池制造成本意義重大。隨著各種高精度、高效率在線檢測技術的普及和廣泛應用,極片缺陷被及時檢測和剔除,涂布和干燥工況條件得到及時反饋和調整,鋰離子電池在能量密度、高安全性和一致性方面將邁上新臺階。
參考文獻:
[1]WOOD D L, LI J L, DANIEL C, et al. Prospectsfor reducing the processing cost of lithium ion batteries[J].Journal of Power Sources, 2015, 275: 234-242.
[2] 楊時峰,薛孟堯,曹新龍,等. 鋰離子電池漿料合漿工藝研究綜述[J]. 電源技術,2020,44(2):291-294.
[3] BITSCH B,WILLENBACHER N, WENZEL V, et al. Impact of mechanical process engineering onthe fabrication process of electrodes for lithium ion batteries[J]. ChemieIngenieur Technik, 2015, 87(4): 466-474.
[4] DAVIDA L,RUTHERA R E, MOHANTY D, et al. Identifying degradation mechanisms inlithium-ion batteries with coating defects at the cathode[J]. Applied Energy,2018, 231: 446-455.
[5] MOHANTY D,HOCKADAY E, LI J, et al. Effect of electrode manufacturing defects onelectrochemical performance of lithium-ion batteries: Cognizance of the batteryfailure sources[J]. Journal of Power Sources, 2016, 312: 70-79.
[6]裴敬龍. 鋰離子電池正極片輥涂存在的問題及解決措施[J]. 新疆有色金屬,2012(增刊2):112-113.
[7] 覃曉捷,韋京汝,王姜婷,等. 正極極片表面顆粒對電池性能影響的研究[J]. 電源技術,2017,41(10):1399-1401.
[8] 王雙雙,武行兵,張沿江,等. 鋰離子電池循環壽命影響因素的研究[J]. 電源技術,2015,39(6):1211-1213.
[9] 宋曉娜. 鋰離子電池自放電研究[J]. 電池工業,2013(1):47-50.
[10] 龔海青,郭洪猷,王平. 表面張力引起的涂層弊病(II)[J]. 現代涂料與涂裝,2000(4):1-2.
[11] 李群英. 涂裝工常用技術手冊[M]. 上海:上海科學技術出版社,2008:293-296.
[12] 遲彩霞,張雙虎,喬秀麗,等. 狹縫式涂布技術的研究進展[J]. 應用化工,2016,45(2):360-364.
[13] 成都茵地樂電源科技有限公司. 極片涂覆與干燥中的縮孔現象[EB/OL].[2013-07-03]. http://www.cd-ydl.com/index.php?go=article-26.html.
[14] KRAYTSBERG A,EIN E Y. Conveying advanced Li-ion battery materials into practice: The impactof electrode slurry preparation skills[J]. Advanced Energy Materials, 2016,6(21): 1600655
[15] SCHMITT M,BAUNACH M, WENGELER L, et al.Slot-die processing of lithium-ion battery electrodes—Coatingwindow characterization[J].Chemical Engineering and Processing: ProcessIntensification, 2013, 68: 32-37.
[16] COHEN E D. Howcan the ribbing defect be eliminated in web coating?[J]. Converting Quarterly,2015, 5(1): 16-17.
[17] 燃化部第一膠片廠. 擠壓涂布弊病的防止與消除[J]. 感光材料,1973(2):9-13.
[18] SCHMITT M, SCHARFER P, SCHABEL W.Slot die coming of lithium-ionbattery electrodes: Investigations on edge effectissues for stripe and pattern coatings[J]. Journal of Coatings Technology and Research, 2014,11(1): 57-63.
[19] 新能源Leander.鋰電池極片擠壓涂布厚邊現象及解決措施[EB/OL]. [2017-07-18]. http://www.china-nengyuan.com/tech/111508.html.
[20] 龐可可. 激光測厚儀在鋰電池極片涂布生產中的應用性研究[J]. 河南科技,2016(3):144-145.
[21] 陳功,許清泉,朱錫芳. 鋰電池極片質量監控系統的設計和實現[J]. 儀表技術與傳感器,2013(12):87-89.
[22] 王瑩. 激光測厚儀在鋰電池極片生產中的應用[J]. 電源技術,2012,36(2):186-187.
[23] 王云輝,孫青山,李松鞠. β射線在鋰離子電池生產中的應用[J]. 電池,2018(5):347-349.
作者:楊時峰,胥 鑫,曹新龍,邵 樂,田占元
單位:陜西煤業化工技術研究院有限責任公司
免責聲明:以上內容轉載自電池中國,所發內容不代表本平臺立場。
全國能源信息平臺聯系電話:010-65367702,郵箱:hz@people-energy.com.cn,地址:北京市朝陽區金臺西路2號人民日報社
一篇:Java 0基礎入門 (Html標簽的使用)
表單在網頁中主要負責數據采集功能。
一.表單實際應用場景
百度搜索
5173注冊
如上兩張圖,圖中的黑色線條是我畫上去的,如果按照黑線,在Excle中畫出這兩張表單,相信大家都可以也不是很難,那在Html中,我們同樣也是畫出這樣的表單,最后將黑線隱藏即可。
二.表單包含的控件
具體寫法:(插一句,Html代碼中<!--xxxx-->,這樣的內容,是注釋內容,也就是代碼執行的時候并不執行,只是類似看文言文時,旁邊的注解一樣)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<!--
action:指定服務器端處理程序的路徑(Java、.Net、PHP、Python、NodeJs……)
method:提交方式,有get和post兩種
get:會將表單中的值直接帶在地址欄中 不安全 數據量有限制
post:不會將表單中的值帶在地址欄中 更安全 數據量沒有限制
-->
<form action="http://www.baidu.com" method="get">
<!--
對于不同控件中的value屬性值,一般就是服務器端要拿到的具體的值
-->
<!--
單行文本框:
type屬性:因為密碼框、單選按鈕、復選框也都是input
通過type屬性來區分當前的input到底是什么
(如果input不指定type屬性值,默認取值為text)
value:指定單行文本框的初始值
-->
<p>
單行文本框:<input type="text" value="初始值"/>
</p>
<p>
<!--
placeholder:當沒有內容時默認顯示的內容,隨著用戶的輸入,會消失
如果清空輸入嗎,會再次出現
plcaceholder和value的區別在于:
placeholder不能通過用戶輸入直接改變內容
value提供的值用戶是可以改變的
maxlength:限制輸入字符的最大長度
*name:相當于給控件起個名字,服務器端可以根據這個名字,來區分每一項數據代表什么含義
-->
單行文本框:<input type="text" placeholder="初始值" maxlength="5" name="txt"/>
</p>
<!--
密碼框
type:password密碼框
單行文本框中能用的屬性,密碼框也都能用
-->
<p>
密碼框:<input type="password" placeholder="請輸入密碼" name="pwd" maxlength="6"/>
</p>
<!--
單選按鈕
type:radio 單選按鈕
checked="checked"默認選中當前項
name在radio中的作用:
(1)服務器端用來識別數據
(2)用來描述同一組信息的內容只選中其中一個,用來分組,產生互斥
-->
<p>
<!--
<label>:如果要點擊單選按鈕后面的字也能夠選中單選按鈕,就使用
該標簽將單選按鈕以及文字都包裹在一起
-->
<label>
<input type="radio" checked="checked" name="sex" value="0"/>男
</label>
<label>
<input type="radio" name="sex" value="1"/>女
</label>
</p>
<!--
復選框
type:checkbox
name:用來對同一組相同含義的checkbox分組,就算給了name,也能夠一次性選中多個
-->
<p>
<input type="checkbox" name="hobby" value="0"/>跑步
<input type="checkbox" name="hobby" value="1"/>打球
</p>
<!--
按鈕 input
-->
<p>
<!--
重置按鈕 type="reset"
value:按鈕中要顯示的文本,一般不需要傳遞給服務器端
重置不是簡單的清空,而是回到頁面最原始的狀態
-->
<input type="reset" value="重置"/>
<!--
提交按鈕 type="submit"
value:按鈕中要顯示的文本,一般不需要傳遞給服務器端
-->
<input type="submit" value="提交" />
<!--
普通按鈕:type="button"
普通按鈕本身不具有任何的特殊行為,其行為一般需要通過js腳本來綁定
-->
<input type="button" value="普通按鈕" onclick="alert('這是一個普通按鈕');"/>
<!--
圖片按鈕:type="image"
通過圖片來制作按鈕,相當于提交按鈕
-->
<input type="image" src="001.jpg" />
<!--
注意:對于提交按鈕和重置按鈕,如果放在form元素以外的地方,
是無法對表單進行重置或提交操作的
-->
</p>
<!--
多行文本框 textarea (文本域)
cols:列數
rows:行數
name:用于在服務端獲取數據時使用
注意:文本域中的默認內容應該寫在標簽之間,而不是value屬性中
這一點和當行文本框是有區別的
placeholder:文本域為空時的默認內容
-->
<p>
<textarea cols="10" rows="20" placeholder="默認值">dsadasdas</textarea>
</p>
<!--
文件域 input type="file"
-->
<p>
<input type="file" />
</p>
<!--
隱藏域 input type="hidden"
不希望用戶看到,但是程序處理時需要的數據,可以放在隱藏域中
-->
<p>
隱藏域:<input type="hidden" />
</p>
<!--
下拉列表框<select>
下拉列表中的每一個子選項
-->
<p>
<select>
<option>====請選擇====</option>
<option>江蘇</option>
<option>浙江</option>
<option>上海</option>
</select>
</p>
<!--
select標簽的multiple="multiple"屬性
將原本通過箭頭點擊的方式顯示改為一次性就顯示若干個
并且可以一次性選中多項
-->
<p>
<select multiple="multiple">
<option>====請選擇====</option>
<option>江蘇</option>
<option>浙江</option>
<option>上海</option>
<option>山東</option>
<option>安徽</option>
<option>福建</option>
</select>
</p>
<!--
按鈕 button HTML5新特性
1、和input按鈕的第一個區別:
input要顯示的文本在value屬性中
button要顯示的文本在標簽之間
button如果沒有指定類型,默認就是一個提交按鈕
2、和input按鈕的第二個區別:
input按鈕中的文本只能是普通文本
button標簽之間寫的任何html內容都能作為按鈕的外觀
-->
<p>
<button type="submit">提交按鈕</button>
<button type="reset">重置按鈕</button>
<button type="button" onclick="alert('普通button按鈕');">普通按鈕</button>
<button>
<h1>標題按鈕</h1>
</button>
</p>
<!--
表單元素中的兩個常用屬性
(1)前端:都只能看不能改
(2)后端:readonly的控件值可以獲取到,但是disabled不行
-->
<input disabled="disabled" value="默認值"/>
<input readonly="readonly" value="默認值"/>
</form>
</body>
</html>
三.表單的基本結構
<form action="http://www.sohu.com" method="post">
……
</form>
action:指定提交后,由服務器上哪個處理程序處理,是一個路徑,絕對路徑,相對路徑都可以。
method:指定向服務器提交的方法,一般為post或get方法, post方法比較安全,且能傳輸的數據量更大
四.表單的基本語法
<form action="login.aspx" method="post">
<p>用戶名:
<input name="username" type="text"/>
</p>
<p>密 碼:
<input name="pwd" type="password" />
</p>
<p>
<input type="submit" name="btn" value="提交" />
</p>
</form>
表單輸入元素:input,當然也有其它的。
五.表單的執行原理(了解即可)
客戶端(比如:我們打開的網頁)請求登陸,填寫表單信息,點擊某按鈕提交→數據傳輸到服務器,服務器會執行后端代碼(后續會講到),驗證發來的信息,給出反饋(比如:通過;不通過)→客戶端接收服務器的反饋,在頁面上顯示出來。
舉個例子:
一個客戶去某店買東西,客戶(客戶端)說我是你們會員,提供了姓名,手機號(這就類似填寫表單的一個過程),然后店員(服務器)根據你提供的姓名和手機號,查到了你的會員信息,然后告訴你(反饋)已經查到,確實是本店會員。
通過舉例,希望大家能通俗的了解表單的執行原理。
六.表單的元素
1.文本框
<input name= "userName" type= "text" value= "123456" maxlength="5">
type:指定input的類型,如果為text表示普通文本框
value:文本框中的初始值
maxlength:最大能夠輸入的字數
name:name屬性對于表單元素的作用,在于讓服務器能夠得到表單元素中輸入的值,例如request.getParameter(“userName”),之后的文章中會講。
還有一個有用的placeholder屬性,同樣為初始值,區別于value,以灰色顯示,且在輸入內容時會自動被所輸入的內容覆蓋,清空輸入內容后,又會顯示出來,類似于一個提醒的作用??勺孕袊L試下。
2.密碼框
<input name= "userPwd" type="password" value="" maxlength="4">
type:指定input的類型,如果為password表示密碼框
value:密碼框中的初始值
maxlength:最大能夠輸入的字數
name:name屬性對于表單元素的作用,在于讓服務器能夠得到表單元素中輸入的值,例如request.getParameter(“userPwd”),之后的文章中會講。
3.按鈕
<input type="reset" value="重填"/>
<input type="submit" value="提交" />
<input type="button" value="普通按鈕" />
<input type="image" src="images/login.gif" value="圖片按鈕" />
type的取值不同代表不同類型的按鈕,對于提交按鈕會提交表單,重置按鈕可以清空表單內容,但是其它類型的按鈕,具體實現什么功能,只能通過后面學習腳本以后才能進行處理,value屬性表示按鈕上顯示的文本,name屬性的主要作用體現在后期腳本的綁定上
4.button按鈕
在 button 元素內部,您可以放置內容,比如文本或圖像。這是該元素與使用 input 元素創建的按鈕之間的不同之處。
<button> 控件 與 <input type="button"> 相比,提供了更為強大的功能和更豐富的內容。<button> 與 </button> 標簽之間的所有內容都是按鈕的內容,其中包括任何可接受的正文內容,比如文本或多媒體內容。例如,我們可以在按鈕中包括一個圖像和相關的文本,用它們在按鈕中創建一個吸引人的標記圖像。
寫法:<button type = "button">開</button>
5.單選按鈕
<input name="gen" type="radio" value="男" checked="checked">
<input name="gen" type="radio" value="女" >
input的type取值為radio時,表示單選按鈕
name屬性除了能夠讓服務器獲取選中的單選按鈕信息外,還能將單選按鈕進行分組
checked=”checked”表示選中狀態,同一組單選按鈕,其中選中狀態的按鈕最多只有一個
value表示最后服務端真正能獲取到的值。并不是顯示在單選按鈕外邊的內容。
還可以在外邊嵌套<label></label>標簽提升用戶體驗
6.復選框
<input type="checkbox" name="hobby1" value="sports" />
<input type="checkbox" name="hobby2" value="talk" checked="checked" />
<input type="checkbox" name="hobby3" value="play" />
input的type取值為checkbox時,表示復選框
name屬性除了能夠讓服務器獲取選中的復選框信息外,還能將復選框進行分組
checked=”checked”表示選中狀態,同一組復選框,其中,選中狀態的可以任意多個
value表示最后服務端真正能獲取到的值。并不是顯示在復選框外邊的內容。
還可以在外邊嵌套<label></label>標簽提升用戶體驗
7.文本域
用來輸入多行文本
寫法:<textarea name="" cols="10" rows="20">12345</textarea>
name:用于在服務端獲取數據時使用
cols:列數
rows:行數
值得注意的是:textarea中的內容應該寫在標簽之間,而不是value屬性中!??!如上述寫法中,“12345”即為多行文本框的內容。
8.文件域
<input type="file" name= "uploadFile">
<input type="submit" name="upload" value="上傳" />
當input的type為file時,表示文件上傳按鈕,一般會和提交按鈕一起使用,此處不做太多說明,文件具體上傳時需要學習服務端編程后方可掌握。
9.列表框
<select name="bmon">
<option value="" selected="selected">
[選擇月份]
</option>
<option value="0">一月</option>
<option value="1">二月</option>
<option value="2">三月</option>
<option value="3">四月</option>
</select>
select:name屬性,列表名稱,用于服務器獲取選中項
option是列表下面的每一個小項,value屬性是服務器能獲取到的具體的值,<option>標簽之間是呈現給用戶的選項信息,selected="selected"表示該項選中。
10.隱藏域
方便“記住”一些供服務端使用的信息、但又不希望客戶看到的數據
<input type="hidden" name="…." value="…" />
主要就是type屬性為hidden,其他屬性與input框的屬性填寫相同。
七.表單中的一些屬性
只讀和禁用屬性
readonly:希望某個框內的內容只允許用戶看,不能修改
disabled:因沒達到使用的條件,限制用戶使用
<textarea readonly="readonly"></textarea>
<input type="text" readonly="readonly" />
<input type="text" disabled="disabled" />
上面的屬性也可用于其它表單元素,達到只讀或禁用的效果。
form 表單中disabled屬性的元素不參與表單提交,也就是表單submit后,后臺無法獲取有disabled屬性元素的值。
八.HTML5 新的 input 類型及支持的瀏覽器
HTML5 新的 input 類型及支持的瀏覽器
九.音頻標簽
寫法:
<audio src="Nightwish-She Is My Sin.mp3" controls="controls" autoplay="autoplay" loop="loop">
暫不支持此標簽
</audio>
src:要播放的音頻的 URL。
autoplay:如果出現該屬性,則音頻在就緒后馬上播放。
loop:如果出現該屬性,則每當音頻結束時重新開始播放。
controls:若出現該屬性,則向用戶顯示控件,比如播放按鈕。
暫不支持此標簽,是在你使用的瀏覽器,不支持的情況下顯示。
具體瀏覽器的兼容性,見下圖
audio標簽各瀏覽器兼容情況
十.視頻標簽
寫法:
<video src="http://www.w3school.com.cn/i/movie.ogg" controls="controls" autoplay="autoplay" loop="loop" width="1000px">
您的瀏覽器不支持video標簽
</video>
src:要播放的視頻的 URL。
controls="controls" 若出現該屬性,則向用戶顯示控件,比如播放按鈕。
loop="loop" 循環播放
autoplay="autoplay" 自動播放
width、height:指定視頻窗口的大小
相比音頻標簽,可以添加width和height指定視頻窗口大小
*請認真填寫需求信息,我們會在24小時內與您取得聯系。