搜尋
首頁web前端css教學css樣式區分input是按鈕還是文字方塊的方法_經驗交流

在設定樣式時怎麼區分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/TR /xhtml1/ DTD/xhtml1-transitional.dtd">
html xmlns="http://www.w3.org/1999/xhtml" >
頭部>
    
標題> diffInput2標題>
    
元資料姓名="作者" 內容="JustinYoung"/>
    
元 元 名稱="關鍵字" 內容=""/>
  /span>元資料名稱 span >="說明" 內容=" " />
http-equiv ="Content-Type" 內容="text/html; charset=utf-8"/>
樣式類型 span> span>="text/css">
    輸入
    
{
    背景顏色
表達式(this.type=="text"?'#FFC':'');
    
}
    
樣式>

頭部>

正文>
dl>
dt>這個是正常的文字方塊:dd>輸入類型= “文本” 名稱="">
dt>> span> span>這是正常按鈕:dd >輸入類型 span>="按鈕" 值="我是按鈕">
dl>
正文>
html>


優點:簡單,輕量化缺點:表達式判斷表達式FireFox是不支援的。致命的是只能區分出一個(例如例子中就只能區分出文字文字方塊),不要試圖設定多個,下面的剪貼上面的覆蓋掉Orz ...

2:用css中的型別選擇器
實作參考碼:
p>

doctype html public "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR /xhtml1/TR /xhtml1/ DTD/xhtml1-transitional.dtd">
html xmlns="http://www.w3.org/1999/xhtml" >
頭部>
    
標題> diffInput2標題>
    
元資料姓名="作者" 內容="JustinYoung"/>
    
元 元 名稱="關鍵字" 內容=""/>
  /span>元資料名稱 span >="說明" 內容=" " />
http-equiv ="Content-Type" 內容="text/html; charset=utf-8" />
    
樣式樣式樣式樣式樣式樣式樣式類型="text/css">
    input[type="text"]
    
{
    背景顏色
#FFC;
    
}

    輸入[type="password"]
    
{
    背景圖
url(BG.gif);
    
}

    input[type="submit"]
    
{
    背景顏色
藍色;
    顏色
白色;
}
    input[type="reset"]
    
{
    背景顏色
海軍藍;
    顏色
白色
    
}

    輸入[ type="radio"]
    
{
    
/*在 FF 中,不支援某些無線電樣式,例如背景顏色*/
    邊距
10px;
    
}

    input[type="checkbox"]
    
{
    
/*在 FF 中,不支援某些複選框樣式(如背景顏色)*/
邊距
10 像素
    
}


    輸入[type ="button"]
    
{
    背景顏色
淺藍;    }
樣式>
頭部>

正文>
dl >
dt>這是正常的文字方塊:dd>>輸入類型="text" span> 名稱="">跨度>
dt>> span> span>這是密碼文字方塊:dd >輸入類型 span>="密碼" 名稱=" ">
dt>這個是提交按鈕:dd>輸入類型= “提交”>
dt>>這是重置按鈕:dd>輸入類型="重置">
dt>phpcngt span style="COLOR: # 000000">這是廣播:dd >輸入類型="收音機" 名稱="ground1" span>> phpcnltcnphpcnltcnphpcnltcnphpcnltcn輸入類型="radio"  名稱="ground1">
dt>> span> span>這是複選框:dd>輸入類型="複選框" 名稱="ground2 ">  span>輸入類型="複選框" 名稱="ground2">
phpcnltcnphpcnltcnphpcnltcnphpcnltcnphpcnltcn span style="COLOR: #800000"> dt
>這是普通按鈕:dd>輸入類型="按鈕"  值="我是按鈕">
dl>
正文>
html> p>


優點:簡單,明了,可以分區出各個輸入控制形態。
缺點:類型選擇器,IE6之前的對web標準支援的不太好的瀏覽器不能支援(致命呀Orz…)

3:用javascript腳本實作
實作參考碼:
前台html代碼:

doctype html public "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR /xhtml1/TR /xhtml1/ DTD/xhtml1-transitional.dtd">
html xmlns="http://www.w3.org/1999/xhtml" >
頭部>
    
標題> diffInput標題>
    
元資料姓名="作者" 內容="JustinYoung">
    
元 元 名稱="關鍵字" 內容="">
    
元資料名稱 ="說明"

 內容="">
http-equiv ="Content-Type" 內容="text/html; charset=utf-8" >
    
樣式 類型="text/css">
    輸入
{行為:url('css.htc');}
    
樣式>

頭部>

正文>
dl>
dt>這個是正常的文字方塊:dd>輸入類型= “文本” 名稱="">
dt>> span> span>這是密碼文字方塊:dd >輸入類型 span>="密碼" 名稱=" ">
dt>這個是提交按鈕:dd>輸入類型= “提交”>
dt>>這是重置按鈕:dd>輸入類型="重置">
dt>phpcngt span style="COLOR: # 000000">這是廣播:dd >輸入類型="收音機" 名稱="ground1" span>> phpcnltcnphpcnltcnphpcnltcnphpcnltcn輸入類型="radio"  名稱="ground1">
dt>> span> span>這是複選框:dd>輸入類型="複選框" 名稱="ground2 ">  span>輸入類型="複選框" 名稱="ground2">
phpcnltcnphpcnltcnphpcnltcnphpcnltcnphpcnltcn span style="COLOR: #800000"> dt
>這是普通按鈕:dd>輸入類型="按鈕"  值="我是按鈕">
dl>
正文>
html>


Css.htc程式碼:

腳本語言=javascript >
開關(類型)
{
   span>案例文本' :
    style.backgroundColor
="紅色";
    
中斷;

    
案例 '密碼':
    style.backgroundImage
="url(BG.gif)";
    
中斷;

    
案例 '提交':
    style.backgroundColor
="藍色";
style.color
="白色"
    
中斷;

    
案例 '重置':
    style.backgroundColor
="海軍藍";
    style.color
="白色"
    
中斷;

    
案例 'radio': 
    style.backgroundColor
="亮粉紅色"
    
中斷;

    
案例 '複選框': 
    style.backgroundColor
="綠色"
中斷;

    
案例 '按鈕' :
    style.backgroundColor
="淺藍色"
    
中斷

    
預設: ;//其他使用預設樣式。
}
腳本>


優點:可以分區出各個輸入控制型態。多種技術的混合使用,滿足「我是高手」的虛榮心
缺點:技術牽扯致命面教廣,因為用js升級處理,所以在js沒有作業之前,各個輸入還是原始狀態,然後突然「變帥」讓你的頁面很奇怪。較之的是FireFox不支援Orz…

4:Microsoft Visual Studio 2005中使用皮膚。
皮膚檔案參考代碼:

%--樣式常見文字方塊-- %>
asp:TextBox runat="伺服器"  樣式= " span>背景顏色:#FFC "phpcngtcnphp /asp:TextBox>
asp:Button runat="伺服器" 風格= 「背景-顏色:紅色」>asp:按鈕>


注意裡面的樣式是用style加上的,而不是用cssClass,道理很簡單,如果用cssClass,前面的再用cssClass就會覆蓋這個cssClass。導致失敗。當然,skin不能單獨使用,還要配合css樣式表。

優點:可以分割出各個控制項形態(注意:skin只能對伺服器端控制項的使用,所以現在已經不是很簡單的輸入標籤了,雖然這些伺服器端控制「打到」前台的時候仍然是輸入控制)。除了css,又被分離了一層,使得樣式的設定能夠有更好的的客製化。其他優點(參考skin的優點)。
缺點:只能對伺服器端控制使用。不是所有的項目都可以使用skin功能Orz…



總結:上面的方法,都是有各自的優點和缺點,所以單獨的使用任何一個都不能很好的解決問題。所以應該將多個方法配合一起使用,這樣才能較好的解決問題。但多個方法配合使用就是完美的了嗎? NO~!它也有致命的缺點——多套方案的維護需要更大的成本!

 

後記:這是一個以IE6為首,非web標準瀏覽器橫掃天下的亂世年代,不知有多少網頁初學者慘死在IE6的詭異解析模式之下,又有多少程式設計師被IE6所奴役,還有無數web設計者在IE6的胯下忍辱偷生。雖然黑暗中我們欣慰的看到FireFox反對暴統的勇者的出現,以及IE7對Web標準越來越好的支持這道曙光。但是黑夜仍舊將會持續很長一段時間。對於web標準一統天下的年代,我們既喜又悲。喜的是,到那個時候,我們做網頁設計和規劃將會如同吃飯般簡單,悲哀的是:如果真的到了那個時候,我們吃飯的飯碗還能那麼重嗎?不過,為了人類社會的進步,拯救地球的科技,發展宇宙的科技文化 -_-b… 我依然期待web標準一統天下的到來。



keyword:自動區分各類不同的input樣式,在CSS中如何區分,利用Javascript實現自動區分各類別不同的input樣式,input,input type,input type file,input type hidden,input file,input.dll,html input,input type image

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
模擬鼠標運動模擬鼠標運動Apr 22, 2025 am 11:45 AM

如果您曾經在現場演講或課程中必須顯示一個互動動畫,那麼您可能知道它並不總是那麼容易與您的幻燈片進行互動

通過Astro Action和Fuse.js為搜索提供動力通過Astro Action和Fuse.js為搜索提供動力Apr 22, 2025 am 11:41 AM

對於Astro,我們可以在構建過程中生成大部分網站,但是有一小部分服務器端代碼可以使用Fuse.js之類的搜索功能來處理搜索功能。在此演示中,我們將使用保險絲搜索一組個人“書籤”

未定義:第三個布爾值未定義:第三個布爾值Apr 22, 2025 am 11:38 AM

我想在我的一個項目中實現一條通知消息,類似於您在保存文檔時在Google文檔中看到的信息。換句話說,一個

捍衛三元聲明捍衛三元聲明Apr 22, 2025 am 11:25 AM

幾個月前,我正在使用黑客新聞(就像一個人一樣),並且遇到了一篇(現已刪除的)文章,內容涉及不使用if語句。如果您是這個想法的新手(就像我

使用網絡語音API進行多語言翻譯使用網絡語音API進行多語言翻譯Apr 22, 2025 am 11:23 AM

自科幻小說以來,我們就幻想著與我們交談的機器。今天這很普遍。即便如此,製造的技術

JetPack Gutenberg塊JetPack Gutenberg塊Apr 22, 2025 am 11:20 AM

我記得當古騰堡被釋放到核心時,因為那天我在WordCamp我們。現在已經過去了幾個月,所以我想我們越來越多的人

在VUE中創建可重複使用的分頁組件在VUE中創建可重複使用的分頁組件Apr 22, 2025 am 11:17 AM

大多數Web應用程序背後的想法是從數據庫中獲取數據,並以最佳方式將其呈現給用戶。當我們處理數據時

使用'盒子陰影”和剪輯路徑一起使用'盒子陰影”和剪輯路徑一起Apr 22, 2025 am 11:13 AM

讓我們在一個情況下做一些似乎有意義的事情的情況下逐步進行一些逐步,但是您仍然可以用CSS欺騙來完成它。在這個

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。