代码之家  ›  专栏  ›  技术社区  ›  n8wrl

IE:有时悬停?

  •  0
  • n8wrl  · 技术社区  · 14 年前

    请看这一页:

    <!DOCTYPE html>
    <html>
        <head>
        <title></title>
        <script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.2.min.js"></script>
        <script type="text/javascript">
            $(document).ready(function() {
                $("#outer").css("opacity", .7);
            });
        </script>
        <style type="text/css">
            #outer
            {
                position: absolute;
                width:600px;
                background: #111;
                z-index:2;
                overflow: hidden;
            }
            #outer div
            {
                float: left;
            }
            ul
            {
                list-style: none;
                margin: 0;
                padding: 0;
            }
            ul li 
            {
                width: auto;
                margin: 2px 4px 2px 4px;
                padding: 2px 4px 2px 4px;
                font-size: 11px;
                color: White;
            }
            ul li:hover
            {
                background: red;
                font-weight: 600;
                cursor: pointer;
            }
        </style>
    </head>
    <body>
        <div id="outer">
            <div id="one">
                <ul>
                    <li>111</li>
                    <li>222</li>
                </ul>
            </div>
            <div id="two">
                <ul>
                    <li>333</li>
                    <li>444</li>
                </ul>
            </div>
            <div id="three">
                <ul>
                    <li>555</li>
                    <li>666</li>
                </ul>
            </div>
        </div>
    </body>
    </html>
    

    如果未设置“不透明度”(opacity) #outer ,任何地方都可以。同样,FF和铬是好的。

    你怎么认为?

    更新:

    但是,包括标题中的标记:

    <meta id="metaIE8IE7" http-equiv="X-UA-Compatible" content="IE=7" />
    

    无法修复。

    3 回复  |  直到 12 年前
        1
  •  2
  •   Bob    13 年前

    遇到同样的问题并找到了解决方案(尽管我的解决方案是针对a:hover而不是li:hover,而且我还没有测试)

    基本上,确保元素“具有布局”。例如,显示:块,等等,然后重置该元素的透明度。-ms筛选器:“”;

        2
  •  1
  •   Tom    11 年前

    刚刚得到了完美的工作组合:

    display: block;
    zoom: 1;
    opacity:0.4; /*for ie9 and other browsers */
    filter: alpha(opacity=40); /*for ie older browsers*/
    

    正如Bob所说,“has布局”对于它在ie8中工作是必不可少的。这里的“display:block;”完成了这个任务。

        3
  •  -2
  •   n8wrl    14 年前

    对我来说,更多的CSS货物崇拜!我不知道,但是把IE8集中到IE7模式解决了这个问题。我错了,在这个问题上不起作用。在其他浏览器中也不错。