zoukankan      html  css  js  c++  java
  • 浏览器对css 伪类 hover的支持

    今天在调试的时候,发现用hover写的样式在火狐上可以,在ie上却不行,百度了下,原来我用的是ie的Quirks模式。

    这是在http://www.w3help.org网站上查到的结果。

    问题描述

    IE6 IE7(Q) IE8(Q) 不支持 A 元素以外的其他元素的 ':hover' 伪类。

    造成的影响

    在非 A 元素上使用了 ':hover' 伪类后,可能会使页面在 IE6 IE7(Q) IE8(Q) 中没有的任何效果。

    受影响的浏览器

    IE6 IE7(Q) IE8(Q)  

    问题分析

    对于此问题,我们通过以下的测试用例来说明。

    分析以下代码:

    <style type="text/css">
      p:hover {
        color: red;
      }
    </style>
    <p>Aloha!</p>

    根据 CSS2.1 规范中的描述可知,当鼠标悬停在 P 元素上时,P 中的字体会变成红色。

    这段代码在不同的浏览器环境中的表现(鼠标悬停在 'Aloha!' 上的时候):

    IE6 IE7(Q) IE8(Q)IE7(S) IE8(S) Firefox Opera Safari Chrome

    所以对于 ':hover' 伪类的支持情况,如下表:1

    IE6IE7(Q)IE7(S)IE8(Q)IE8(S)FirefoxSafariOperaChrome
    N N Y N Y Y Y Y Y

    注1:实际中其他除常用 HTML 标记(A 标记除外)同样适用此例,并非仅 P 标记自身不支持。

    解决方案

    使用 JavaScript 绑定 'onmouseover' 和 'onmouseout'(模仿 ':hover');
    使用 Whatever:hover,该组件利用 IE 特有的 CSS 行为(behavior)及通过 JavaScript 来模拟 ':hover' 伪类的效果。

  • 相关阅读:
    自定义Dialog
    AlertDialog
    Toast
    WebView
    《构建之法》阅读笔记3
    UI组件之GridView
    ScrollView&HorizontalScrollView
    UI组件之ImageView
    UI组件之ListView
    每周总结(1.24)
  • 原文地址:https://www.cnblogs.com/onlywujun/p/3083392.html
Copyright © 2011-2022 走看看