對設定樣式時怎麼區分input是按鈕還是文字方塊問題的技術調查-把input裡面的東西剔出來
當你看到這個html標籤的時候,你會想到什麼?一個文字方塊?一個按鈕?一個單選框?一個複選框? ……對,對,對,它們都對。也許你可能想不到,這個小小的input竟然可以創造出10個不同的東西,下面是個列表,看看,哪些是你沒想到的:
文字框
密碼框
提交按鈕
重設按鈕
單選框
複選框
普通按鈕
檔案選擇控制項
隱藏方塊
圖片按鈕
所以你可能會說,input真是一個偉大的東西,竟然這麼有“搞頭”,但是當你真正在項目中試圖給不同的控件設置不同的樣式時,你就會發現,input真的可以把「你的頭搞大」。我不知道為什麼當初要給input那麼多身份,但是,他的「N重身份」給網站設計者的確帶來了不少的麻煩。還好,勞動人民是偉大的,解決問題的辦法還是有滴~,雖然它們都有各自致命的缺點Orz… 解放方法大致歸納一下,列表如下(小弟才疏,錯誤遺漏難免,還請各位高人指點):
1.用css的expression判斷表達式
2.用css中的type選擇器
3.用javascript腳本實作
4.如果你用Microsoft Visual Studio 2005 或後續版本開發項目,恭喜,你還可以使用skin。
下面就來講解一下各個辦法的詳細實作和它們的優缺點。
1:用css的expression判斷表達式
實作程式碼參考:
doctype html public "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/ xhtml1-transitional.dtd">
<html xmlns# #=" http://www.w3.org/1999/xhtml" #>
#<標題>
#<##> diffInput2 #title>
<meta 名稱 =「作者」 內容=「JustinYoung」/>
#<元 名稱="關鍵字" 內容="" /> ##<
meta name="說明" 內容 =""/> #<
元#http-equiv#= "Content-Type" 內容="text/html; charset=utf-8"/>## #<
樣式 type="text/css" >## 輸入 {
# 背景顏色#:表達式(this.type=="text"?'#FFC':'' )
; #}
>#
head >#<
body>#<
dl#> #<dt>This is normal textbox:<#dd><input type#="text" name="">
<dt>This is normal button: <dd><#input type="button" value="i'm button">
#dl>
body>
html>
#優點:簡單,輕量級
缺點: expression判斷表達式FireFox是不支援的。致命的是只能區分出一個(例如例子中就只能區分出text文字框),不要試圖設定多個,下面的會將上面的覆蓋掉 Orz…
以上是區別input框和按鈕的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!