css樣式之區分input是按鈕還是文字框的方法第1/4頁

來源:互聯網
上載者:User

當你看到<input>這個html標籤的時候,你會想到什嗎?一個文字框?一個按鈕?一個單選框?一個複選框?……對,對,對,它們都對。也許你可能想不到,這個小小的input竟然可以創造出10個不同的東西,下面是個列表,看看,哪些是你沒有想到的:
<input type="text" /> 文字框
<input type="password" /> 密碼框
<input type="submit" /> 提交按鈕
<input type="reset" /> 重設按鈕
<input type="radio" /> 單選框
<input type="checkbox" /> 複選框
<input type="button" /> 普通按鈕
<input type="file" /> 檔案選擇控制項
<input type="hidden" /> 隱藏框
<input type="image" /> 圖片按鈕
所以你可能會說,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" >
<head>
<title> diffInput2 </title>
<meta name="Author" content="JustinYoung"/>
<meta name="Keywords" content=""/>
<meta name="Description" content=""/>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<style type="text/css">
input
{
background-color:expression(this.type=="text"?'#FFC':'');
}
</style>
</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…

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.