很多時候,我們僅僅為了實現數據采集這個功能來使用表單,常看到的表單都是“千人一面”、毫無生氣,本專題嘗試著來改變這一現象,試圖賦予表單一個豐富多彩的面貌。
表單的外觀,也是最為直接的花樣,可以通過改變它來實現特效,本文分兩個出發點來講述:CSS魔法和圖像魔法。
1、CSS魔法CSS,就是大家知道的層疊樣式單,它可以定義頁面元素的外觀,包括字體樣式、背景顏色和圖像樣式、邊框樣式、補白樣式、邊界樣式等等,下面就從這幾個方面出發,討論怎樣將CSS應用到表單中,徹底美化它!
1.1 字體樣式的應用 字體樣式包括:字體族科(font-family)、字體風格(font-style)、字體變形(font-variant)、字體加粗(font-weight)、字體大小(font-size)、字體(font),具體的定義方法,在這里不詳細講述,可以參考它的資料。
也許你已經注意到,按鈕上的文字不漂亮,其實可以通過CSS字體樣式來解決,同樣地,其它的幾個涉及到文字的表單項,例如,文本框、多行文本框、口令框、下拉選擇框都可以應用字體樣式。
為了充分展示這些應用,下例特別設計了幾種樣式,在實際應用中,不必這么凌亂,靈活運用:
樣例1:表單元素的字體樣式展示
小結:只要我們對字體的樣式熟悉了,就可以靈活多變,不一定要在標簽里面使用style來定義,完全可以在<head>里定義,或者外部引用CSS文件,用到的時候引用一下就能達到預期的效果。
1.2 背景顏色和圖像樣式的應用 有很多時候,網頁由于顏色的搭配,不得不對表單的背景顏色和圖像樣式進行設計,背景顏色利用background-color屬性,背景圖像利用background-image屬性,顏色和圖像同樣能夠得到意想不到的效果。
樣例2: 表單元素的背景展示
小結:用好background-color屬性和background-image屬性,就可以設計很出“色”表單了。
1.3 邊框樣式的應用 也許你覺得表單的邊框過于死板,我們能否設計單線條,或者其它的邊框樣式呢?當然可以!
和邊框有關的屬性有:邊框式樣border-style、上邊框border-top、右邊框border-right、下邊框border-bottom、左邊框border-left、邊框顏色border-colr、邊框寬度 border-width、上邊框寬度border-top-width、右邊框寬度border-right-width、下邊框寬度border-bottom-width、左邊框寬度border-left-width、邊框 border,這里不作詳細的講述,請參考有關資料。
樣例3: 8種邊框形式的展示
文本框有8種類型邊框樣式,即border-style,分別展示在本例中,邊框寬度的設置有一個規律:
border-width: [ thin | medium | thick | <長度> ]{1,4}
邊框寬度用一到四個值來設置元素的邊框寬度,它們分別被應用于上、右、下和左邊框寬度。如果只給出一個值,它被應用于所有邊框寬度。如果兩個或三個值給出了,省略了的值與對邊相等
例如:
<input type="text" name="RedF" style="border-color: #006600; border-style: dotted; border-width: 1px">
邊框顏色的設置有一個規律:border-colr: <顏色>{1,4}
邊框顏色用一到四個值來設置元素的邊框顏色。如果四個值都給出了,它們分別被應用于上、右、下和左邊框顏色。如果只給出一個值,它被應用于所有邊框顏色。如果兩個或三個值給出了,省略了的值與對邊相等。
對于多行文本框以及按鈕,設置邊框的方法和文本框一樣,不再陳述;
由于下拉選擇框select不支持邊框的設置,所以對它設置是徒勞的;
單選按鈕和復選按鈕的邊框,設置的效果不十分協調,所以建議不要對它們設置,不然有“畫蛇添足”之感。
樣例4:邊框的特殊設計展示 聰明的讀者一定會想到,如果設計單邊框,一定更加漂亮,對!下面我們來嘗試以下部分邊框的設置效果,本例僅僅以Solid和dotted兩種類型的邊框作演示,其它類型的邊框原理相同:
注意--邊框類型的外觀如下: none :無邊框。與任何指定的border-width值無關;
dotted :點線;
dashed :虛線;
solid :實線邊框;
double :雙線邊框。兩條單線與其間隔的和等于指定的border-width值;
groove :3D凹槽;
ridge :邊框突起;
inset :3D凹邊;
outset :3D凸邊
2、圖像魔法 圖像,是網頁的重要元素,能否應用到表單中呢?接下來,我們用圖像來改造死板的表單,分兩個部分來探討:用圖像代替按鈕、用背景圖美化表單元素。
2.1 用圖像代替按鈕 由于默認的表單按鈕太丑陋,絕大多數的網站采用了圖像按鈕,那么,我們通過兩個實例來看看怎樣實現的:
樣例5:用圖像代替提交按鈕: 當只有一個提交按鈕的時候,可以簡單地實現,不用加事件函數,代碼是:
<input type="image" name="..." src="url" width="" height="..." border="..."> 除了標簽改為input type="image"以外,其它的屬性和 <img> 標簽的屬性是一樣的,例如:
是不是只要用圖片就可以代替所有的按鈕呢?是的,不過,不是上面這么簡單了,必須加上事件函數,不然的話,圖片都是提交按鈕,不能完成復位等功能,看看下面的例子就知道了:
注意: 代替submit按鈕的圖片代碼格式是
<input type="image" name="..." src="..." onClick="
document.formName.submit()">
代替reset按鈕的代碼圖片格式是
<input type="image" name="..." src="..." onClick="
document.formName.reset()">
注:這里的formName是表單的name屬性值。
2.2 用背景圖美化表單元素 其實,前面已經提到過,用background-image:url()屬性來定義表單元素的背景圖,這里僅舉一例,可以看到,除了select沒有效果以外,其它的都可以配合網頁的背景來設置它們。
樣例6:背景圖的設置