HTML select 元素 disabled 屬性在主流瀏覽器中的表現


測試頁面源代碼

我們有以下測試文件 test.html:

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml">
3 <head>
4 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
5 <title>Test</title>
6 </head>
7 <body>
8 <div>
9 <select size="5" disabled="disabled">
10 <option value="C1">Black</option>
11 <option value="C2">DarkCyan</option>
12 <option value="C3" selected="selected">DarkRed</option>
13 <option value="C4">DarkMagenta</option>
14 </select>
15 <select size="5">
16 <option value="C1">Black</option>
17 <option value="C2">DarkCyan</option>
18 <option value="C3" selected="selected">DarkRed</option>
19 <option value="C4">DarkMagenta</option>
20 </select>
21 <input type="text" />
22 </div>
23 </body>
24 </html>

然后看看這個 HTML 文件在主流瀏覽器中的表現。

Opera

opera

可以看出,顯示效果非常好,disabled 的控件背景是灰色的,正確地標示出 selected 的項目。

Mozilla Firefox

Firefox

顯示效果也很好,disabled 的控件前景是灰色的,也正確地標示出了 selected 的項。

Google Chrome

Chrome

Chrome

顯示效果非常不好,disabled 的控件前景是灰色的,但是 selected 項的內容悲劇了。

Apple Safari

Safari

Safari

顯示效果也很好,disabled 的控制前景是灰色的,selected 的項目也被正確地標示出來了。

Microsoft IE 的各種版本

IE 5.5

IE 6

IE 7

Microsoft IE 5.5、IE 6 和 IE 7 的顯示效果基本上是一樣的,都相當不錯,disabled 的控件前景是灰色的,也正確標示出 selected 的項目。這三個版本的瀏覽器已經過時了,不能算是主流的瀏覽器,但是 IE 6 在我國應該還是有相當的市場的。

IE8

IE 9

IE 8 和 IE9 悲劇了,disabled 的控件前景是灰色的,這很好。但是 selected 的項目沒有被標示出來,這是個很嚴重的 bug。這兩個版本瀏覽器是主流的瀏覽器,Windows XP 最高只能安裝到 IE 8,Windows Vista 最高也只能安裝到 IE 9。

IE 10

IE 10 的顯示效果也非常好,disabled 的控件背景是灰色的,正確標示出 selected 的項目。不過 IE 10 需要 Windows 8 操作系統才能安裝。

總結

Microsoft IE 5.5、IE 6、IE7、IE 10、Mozilla Firefox、Apple Safari 和 Opera 等瀏覽器對 HTML select 元素的 disabled 屬性支持都很不錯。而 IE 8、IE 9 和 Chrome 都有 bug,不能很好支持。不知道有沒有辦法在 HTML 源代碼補救這一 bug。

補救辦法

將 test.hmtl 改為如下所示:

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml">
3 <head>
4 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
5 <link href="Main.css" type="text/css" rel="stylesheet" />
6 <title>Test</title>
7 </head>
8 <body>
9 <div>
10 <select size="5" disabled="disabled">
11 <option value="C1">Black</option>
12 <option value="C2">DarkCyan</option>
13 <option value="C3" selected="selected" class="selected">DarkRed</option>
14 <option value="C4">DarkMagenta</option>
15 </select>
16 <select size="5">
17 <option value="C1">Black</option>
18 <option value="C2">DarkCyan</option>
19 <option value="C3" selected="selected">DarkRed</option>
20 <option value="C4">DarkMagenta</option>
21 </select>
22 <input type="text" />
23 </div>
24 </body>
25 </html>

其中 Main.css 如下所示:

1 option.selected {
2 color: White;
3 background-color: Cyan;
4}

這樣在 IE 8、IE 9 和 Chrome 18.0 瀏覽器中也能正常顯示了,如下所示:

IE 9.0

Chrome 18.0


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM