那麼,有沒有更省力的辦法呢?答案是肯定的,一個簡單的HTC就可以解決這個問題。
實例如下:
htc代碼:
<script language=javascript>
switch(type)
{
case 'text':
case 'passWord': //文本輸入框和密碼輸入框的樣式
style.border="1px solid #000000";
style.backgroundColor="#FFFFFF";
style.height="18px";
style.font="normal 12px 宋體";
style.color="#000000";
break;
case 'submit':
case 'reset':
case 'button': //按鈕類的樣式(不包括圖片按鈕)
style.border="1px solid #000000";
style.backgroundColor="#CCCCCC";
style.height="18px";
style.font="normal 12px 宋體";
style.color="#000000";
break;
default: ; //對於象單選框多選框等上面沒有出現過的元素,我們使用默認樣式。
}
</script>
把上面這段代碼保存成一個HTC文件,比如保存成input.htc。
簡單分析一下代碼:事實上這僅僅是一段JS,通過判斷type(Input是通過type屬性判斷是哪種表單域的,注意這裡switch語句的使用)來決定使用什麼樣式。是不是很簡單?
HTC文件寫好之後,接下來我們要用CSS的行為(behavior)來調用這個HTC文件,調用的CSS語句如下:
input { behavior:url('input.htc') } /*這裡假設input.htc與網頁在同一目錄下*/
我們看到,現在我們是定義了整個Input標記的樣式,而具體什麼表單元素使用什麼樣式,則是通過JS在HTC文件中判斷並定義的。