2022-06-25 分類: 網(wǎng)站建設(shè)
在設(shè)計(jì)HTML頁面的過程中經(jīng)常會遇到表單元素覆蓋樣式元素引起的問題,圖一就是一個典型的例子。不要小看這個貌似“低級”的問題,即使一些規(guī)模較大的網(wǎng)站上類似的問題也絕不鮮見。本文探討了造成這一問題的根本原因,并提出一種補(bǔ)救辦法——之所以說補(bǔ)救辦法而不是一勞永逸的解決辦法,是因?yàn)槲④浐蚇etScape這兩個巨頭也還沒有對策。
一、HTML元素的顯示優(yōu)先級
HTML中常用的表單元素包括:文本區(qū)域(TEXTAREA),列表框(SELECT),文本輸入框(INPUT type=text),密碼輸入框(INPUT type=password),單選輸入框(INPUT type=radio),復(fù)選輸入框(INPUT type=checkbox),等等。常見的非表單元素包括:鏈接標(biāo)記(A),DIV標(biāo)記,SPAN標(biāo)記,TABLE標(biāo)記,等等。表單元素覆蓋樣式元素的根本原因在于HTML元素默認(rèn)的顯示優(yōu)先級規(guī)則,例如:幀元素總是比其他HTML元素優(yōu)先,因此也總是顯示在最前面;表單元素總是比所有非表單元素優(yōu)先。
所有這些HTML元素又可以根據(jù)其顯示要求分成兩類,即有窗口的HTML元素(Windowed Element),無窗口的HTML元素(Windowless Element)。有窗口的元素包括:SELECT元素,OBJECT元素,插件,IE 5.01以及更早版本中的IFRAME元素。無窗口的元素包括:大多數(shù)的普通HTML元素,如鏈接和TABLE標(biāo)記,除了SELECT元素之外的大多數(shù)表單元素,NS6+/IE 5.5以及更高版本中的IFRAME元素。本文討論的問題主要與有窗口的HTML元素有關(guān),問題的癥結(jié)其實(shí)就在于操作系統(tǒng)默認(rèn)總是把有窗口的元素顯示在無窗口的元素前面。
二、瀏覽器類型與顯示優(yōu)先級
按照瀏覽器類型比較,HTML元素的顯示次序也有所不同,總結(jié)如下:
?、?Netscape/Mozilla
在NS瀏覽器6.0以前的版本中,表單元素總是比其他HTML元素有更高的優(yōu)先級。但在NS 6+瀏覽器中,IFRAME元素和所有表單元素的顯示次序或者由CSS的z-index屬性值確定,或者由它們在HTML頁面中出現(xiàn)的次序確定,但SELECT元素除外。
本文題目:HTML表單元素覆蓋樣式元素問題及其補(bǔ)救之道
當(dāng)前地址:http://www.rwnh.cn/news34/171484.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、ChatGPT、標(biāo)簽優(yōu)化、建站公司、網(wǎng)站設(shè)計(jì)公司、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容