麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > CSS > 正文

csshover.htc在IE7下使用:active偽類無效的原因

2024-07-11 08:23:02
字體:
來源:轉載
供稿:網友

csshover

相信做前端開發都知道,IE6、IE7都不支持:active偽類,IE6更甚,連:hover偽類都不支持。為了解決這個問題,一般都會引入一個csshover.htc文件來解決。

目前該文件版本為3.11,
下載地址:http://peterned.home.xs4all.nl/csshover.html
如果你發現自己使用的不是最新的版本,趕緊更新吧。

Bug

在使用過程中,發現IE7的:active居然不起作用。做了一番測試,最后發現,原來是選擇符權重的問題。

失效的條件為:樣式選擇符都使用類選擇符。
示例代碼如下(需要IE7瀏覽):

<!doctype html><head><style>body { behavior:url("csshover3.htc"); }.d{ width:200px; height:200px; background:yellow;}.d:hover{ background:green;}.d:active{ background:red;}</style></head><body> <div class="d"></div></body>

此時鼠標按下時是不會有變化的。


解決方案

A.不使用類選擇器。可以使用元素選擇符,或id選擇符。
B.增加:active偽類的權重。

對于A方案,可以修改選擇符為:
-----------------------------
div{}
div:hover{}
div:active{}
-----------------------------

或者:

-----------------------------
#d{}
#d:hover{}
#d:active{}

<div id="d"></div>
-----------------------------

對于B方案,可以按權重增加方式使用選擇符:

-----------------------------
div{}
.d:hover{}
#d:active{}

<div id="d" class="d"></div>
-----------------------------

或者增加選擇符:

-----------------------------
.d{}
.d:hover{}
.b .d:active{}

<body class="b">
  <div id="d" class="d"></div>
</body>
-----------------------------

原因

導致該問題的原因,可能是因為給:hover和:active使用了同樣的類選擇符。此時需要給:active多增加一個類選擇符或ID選擇符,元素選擇符的權重還不夠。

htc文件是通過給元素添加類來實現效果變化,鼠標按下時,會給元素添加兩個類:onhover和onactive,至于為何onactive的樣式沒生效,目前還不知道。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久久噜噜噜久久熟有声小说 | 黄色7777 | 国产无遮挡一级毛片 | 日韩av手机在线免费观看 | 操操插插| 日韩欧美视频一区二区三区 | 91精品国产99久久久久久红楼 | 久久久在线免费观看 | 久久精品国产99久久6动漫亮点 | 精品国产一区二区三区成人影院 | 日韩欧美电影一区二区三区 | 999精品国产 | 欧美日本免费一区二区三区 | 国产日韩一区二区三区在线观看 | 免费男女视频 | 久久精品99久久久久久2456 | 在线天堂中文在线资源网 | 嗯啊羞羞视频 | 亚洲第一视频 | 欧美一级做a | 男女隐私免费视频 | 夜间福利网站 | 国产精品久久久久久久模特 | 中文字幕在线免费观看电影 | 草莓福利视频在线观看 | 精品国产一区二区三区久久久蜜月 | 最近日本电影hd免费观看 | 久久久久亚洲a | 日韩av电影在线观看 | 91精品国产日韩91久久久久久360 | 欧美成人一区二区三区电影 | 久久久久久久91 | 国产精品视频免费网站 | 国产日韩欧美 | 日韩毛片网站 | 黄在线观看在线播放720p | 中文字幕网址 | 成人午夜免费看 | 成人午夜免费在线视频 | 国产精品视频免费网站 | 国产午夜精品久久久久婷 |