二、表單外觀的美化
很多時(shí)候,我們僅僅為了實(shí)現(xiàn)數(shù)據(jù)采集這個(gè)功能來(lái)使用表單,常看到的表單都是“千人一面”、毫無(wú)生氣,本專題嘗試著來(lái)改變這一現(xiàn)象,試圖賦予表單一個(gè)豐富多彩的面貌。 表單的外觀,也是最為直接的花樣,可以通過(guò)改變它來(lái)實(shí)現(xiàn)特效,本文分兩個(gè)出發(fā)點(diǎn)來(lái)講述:CSS魔法和圖像魔法。
1、CSS魔法
CSS,就是大家知道的層疊樣式單,它可以定義頁(yè)面元素的外觀,包括字體樣式、背景顏色和圖像樣式、邊框樣式、補(bǔ)白樣式、邊界樣式等等,下面就從這幾個(gè)方面出發(fā),討論怎樣將CSS應(yīng)用到表單中,徹底美化它!
1.1 字體樣式的應(yīng)用
字體樣式包括:字體族科(font-family)、字體風(fēng)格(font-style)、字體變形(font-variant)、字體加粗(font-weight)、字體大小(font-size)、字體(font),具體的定義方法,在這里不詳細(xì)講述,可以參考它的資料。 也許你已經(jīng)注意到,按鈕上的文字不漂亮,其實(shí)可以通過(guò)CSS字體樣式來(lái)解決,同樣地,其它的幾個(gè)涉及到文字的表單項(xiàng),例如,文本框、多行文本框、口令框、下拉選擇框都可以應(yīng)用字體樣式。 為了充分展示這些應(yīng)用,下例特別設(shè)計(jì)了幾種樣式,在實(shí)際應(yīng)用中,不必這么凌亂,靈活運(yùn)用:
樣例12:表單元素的字體樣式展示
分析:
- 文本框里的文字是加粗的,大小是9pt,字體是宋體,代碼:
<input type="text" name="formExam" size="10" maxlength="10" style="font-family:宋體; font-size: 12px; font-weight: bold" value="加粗">
- 口令框文字是紅色的,代碼:
<input type="password" name="formExam3" style="font-size: 9pt; color: #FF0000" size="8" maxlength="8">
- 下拉框文字顏色是紅色的,字體是Verdana,大小是9pt,代碼:
<select name="select" size="1" style="font-family:Verdana,Arial; font-size: 9pt; color: #FF0000"> <o(jì)ption value="2" selected>yesky.com</option> <o(jì)ption value="1">redidea.net</option> </select>
- 多行文本框了的字體是Verdana,有下劃線,大小是9pt,代碼:
<TEXTAREA name="formExam2" cols="30" rows="3" style="font-family:Verdana, Arial; font-size: 9pt; color: #000099; text-decoration: underline" align=right>underline css style</TEXTAREA>
- 發(fā)送1和發(fā)送2按鈕的文字不同,是因?yàn)榘l(fā)送1按鈕使用了9pt的宋體文字,所以比較美觀,發(fā)送1按鈕的代碼:
<input type="submit" name="Submit" value="發(fā)送1" style="font-family:宋體; font-size: 9pt;"> 小結(jié):只要我們對(duì)字體的樣式熟悉了,就可以靈活多變,不一定要在標(biāo)簽里面使用style來(lái)定義,完全可以在<head>里定義,或者外部引用CSS文件,用到的時(shí)候引用一下就能達(dá)到預(yù)期的效果。
1.2 背景顏色和圖像樣式的應(yīng)用
有很多時(shí)候,網(wǎng)頁(yè)由于顏色的搭配,不得不對(duì)表單的背景顏色和圖像樣式進(jìn)行設(shè)計(jì),背景顏色利用background-color屬性,背景圖像利用background-image屬性,顏色和圖像同樣能夠得到意想不到的效果。
樣例13: 表單元素的背景展示
分析:
- 文本框背景是黑色的,字體是白色的,代碼:
<input type="text" name="RedFld" size="10" maxlength="10" style="color: #FFFFFF; background-color: #000000">
- 口令框背景是灰色的,代碼:
<input type="password" name="RedFld3" size="10" maxlength="10" style="background-color: #999999">
- 單選和復(fù)選按鈕的背景是紅色的,代碼:
<input type="checkbox" name="checkbox" value="checkbox" style="background-color: #FF0000"> <input type="radio" name="radiobutton" value="radiobutton" style="background-color: #FF0000">
- 下拉選擇框的選項(xiàng)是豐富多彩的背景,代碼:
<select name="select2" size="1"> <o(jì)ption selected style="background-color: #FF0000">yesky.com</option> <o(jì)ption style="background-color: #0000CC">redidea.com</option> <o(jì)ption style="background-color: #009900">chinabyte.com</option> <o(jì)ption style="background-color: #ff33cc">sina.com</option> <o(jì)ption style="background-color: #999999">sohu.com</option> </select>
- 多行文本框的背景是一個(gè)圖像,代碼:
<TEXTAREA name="RedFld2" cols="25" rows="3" wrap="VIRTUAL" style="background-image: url(back.gif)"></TEXTAREA>
- submit1按鈕的背景是黃色的,代碼:
<input type="submit" name="Submit3" value="Submit1" style="background-color: #FF9900">
- submit2按鈕的背景是一個(gè)圖像,代碼:
<input type="submit" name="Submit22" value="Submit2" style="background-image: url(back.gif)"> 小結(jié):用好background-color屬性和background-image屬性,就可以設(shè)計(jì)很出“色”表單了。
1.3 邊框樣式的應(yīng)用
也許你覺得表單的邊框過(guò)于死板,我們能否設(shè)計(jì)單線條,或者其它的邊框樣式呢?當(dāng)然可以!
和邊框有關(guān)的屬性有:邊框式樣border-style、上邊框border-top、右邊框border-right、下邊框border-bottom、左邊框border-left、邊框顏色border-colr、邊框?qū)挾?border-width、上邊框?qū)挾萣order-top-width、右邊框?qū)挾萣order-right-width、下邊框?qū)挾萣order-bottom-width、左邊框?qū)挾萣order-left-width、邊框 border,這里不作詳細(xì)的講述,請(qǐng)參考有關(guān)資料。
樣例14: 8種邊框形式的展示
分析:
- 文本框有8種類型邊框樣式,即border-style,分別展示在本例中,
邊框?qū)挾鹊脑O(shè)置有一個(gè)規(guī)律: border-width: [ thin | medium | thick | <長(zhǎng)度> ]{1,4} 邊框?qū)挾扔靡坏剿膫(gè)值來(lái)設(shè)置元素的邊框?qū)挾龋鼈兎謩e被應(yīng)用于上、右、下和左邊框?qū)挾。如果只給出一個(gè)值,它被應(yīng)用于所有邊框?qū)挾取H绻麅蓚(gè)或三個(gè)值給出了,省略了的值與對(duì)邊相等 例如:<input type="text" name="RedF" style="border-color: #006600; border-style: dotted; border-width: 1px"> 邊框顏色的設(shè)置有一個(gè)規(guī)律: border-colr: <顏色>{1,4} 邊框顏色用一到四個(gè)值來(lái)設(shè)置元素的邊框顏色。如果四個(gè)值都給出了,它們分別被應(yīng)用于上、右、下和左邊框顏色。如果只給出一個(gè)值,它被應(yīng)用于所有邊框顏色。如果兩個(gè)或三個(gè)值給出了,省略了的值與對(duì)邊相等。
- 對(duì)于多行文本框以及按鈕,設(shè)置邊框的方法和文本框一樣,不再陳述;
- 由于下拉選擇框Select不支持邊框的設(shè)置,所以對(duì)它設(shè)置是徒勞的;
- 單選按鈕和復(fù)選按鈕的邊框,設(shè)置的效果不十分協(xié)調(diào),所以建議不要對(duì)它們?cè)O(shè)置,不然有“畫蛇添足”之感;
樣例15:邊框的特殊設(shè)計(jì)展示
聰明的讀者一定會(huì)想到,如果設(shè)計(jì)單邊框,一定更加漂亮,對(duì)!下面我們來(lái)嘗試以下部分邊框的設(shè)置效果,本例僅僅以Solid和dotted兩種類型的邊框作演示,其它類型的邊框原理相同:
注意:邊框類型的外觀如下:
- none :無(wú)邊框。與任何指定的border-width值無(wú)關(guān);
- dotted :點(diǎn)線;
- dashed :虛線;
- solid :實(shí)線邊框;
- double :雙線邊框。兩條單線與其間隔的和等于指定的border-width值;
- groove :3D凹槽;
- ridge :邊框突起;
- inset :3D凹邊;
- outset :3D凸邊;
2、圖像魔法
圖像,是網(wǎng)頁(yè)的重要元素,能否應(yīng)用到表單中呢?接下來(lái),我們用圖像來(lái)改造死板的表單,分兩個(gè)部分來(lái)探討:用圖像代替按鈕、用背景圖美化表單元素。
2.1 用圖像代替按鈕
由于默認(rèn)的表單按鈕太丑陋,絕大多數(shù)的網(wǎng)站采用了圖像按鈕,那么,我們通過(guò)兩個(gè)實(shí)例來(lái)看看怎樣實(shí)現(xiàn)的:
樣例16:用圖像代替提交按鈕:
當(dāng)只有一個(gè)提交按鈕的時(shí)候,可以簡(jiǎn)單地實(shí)現(xiàn),不用加事件函數(shù),代碼是: <input type="image" name="..." src="url" width="" height="..." border="...">
除了標(biāo)簽改為input type="image"以外,其它的屬性和<img>標(biāo)簽的屬性是一樣的,例如:
是不是只要用圖片就可以代替所有的按鈕呢?是的,不過(guò),不是上面這么簡(jiǎn)單了,必須加上事件函數(shù),不然的話,圖片都是提交按鈕,不能完成復(fù)位等功能,看看下面的例子就知道了:
樣例17:用圖片代替所有的表單按鈕:
注意:
- 代替submit按鈕的圖片代碼格式是
<input type="image" name="..." src="..." onClick="document.formName.submit()">
- 代替reset按鈕的代碼圖片格式是
<a href="javascript:document.formName.reset();"><img border=0 src="..."></a> 注:這里的formName是表單的name屬性值。 2.2 用背景圖美化表單元素
其實(shí),前面已經(jīng)提到過(guò),用background-image:url()屬性來(lái)定義表單元素的背景圖,這里僅舉一例,可以看到,除了select沒有效果以外,其它的都可以配合網(wǎng)頁(yè)的背景來(lái)設(shè)置它們。
樣例18:背景圖的設(shè)置
出處:藍(lán)色理想
責(zé)任編輯:無(wú)意
上一頁(yè) 表單概述 下一頁(yè) 表單提交
◎進(jìn)入論壇網(wǎng)頁(yè)制作、網(wǎng)站綜合版塊參加討論
|