其實以前這個問題我解釋過很多次了……這個帖子就作為一次比較專門的解釋地方吧:
select元素在ie中是屬于一個特例,它和其他的html元素不同,從瀏覽器層面來解釋,它實際上是一個窗體級別的元素(如果有做過c/s開發(fā),應該會知道這點),所以它的優(yōu)先級大大高于其他所有的html標簽,只要有它在的地方,它就會從所有元素的背后冒出個頭來,而只有同樣窗體級的frame才能遮住它(廢話,要是遮不住select,那這個東東不就從frame外冒出來?)
而微軟為了解決這個問題,就給iframe(這個東東不是窗體級的哦!)增加了一個屬性,讓它能夠遮住select(不然在一個iframe外詭異地出現(xiàn)一個select……成何體統(tǒng)),因此,iframe在ie中就附有了這個神圣的使命,遮住select,不讓它隨意地拋頭露面。
而且,由于iframe本身并不是窗體級別的元素,所以只要設置z-index,就可以設置iframe在頁面中的層次關系,利用這一點就可以很方便來遮住那個不怎么討喜的select。代碼基本上就是我上面寫的那個。