【问题标题】:Incompatibility with browsers IE and Firefox at least至少与浏览器 IE 和 Firefox 不兼容
【发布时间】:2014-01-18 04:35:10
【问题描述】:

我有一个网页。我的问题是我看到它取决于浏览器。这里有一些解释问题的屏幕截图:

铬:

http://airsimmers.com/Chrome.PNG

这是完美的。我很好地看到了标题菜单,并且看到了正在使用的下拉菜单上的边框。

火狐:

http://airsimmers.com/firefox.PNG

使用 Firefox 我看不到顶部菜单(可能是因为 overflow:hidden 的性能不佳)。如果您看到下拉菜单上的边框不好。并且下拉菜单与导航栏分开。我认为问题出在边缘(你会在代码中看到)。

Internet Explorer:

http://airsimmers.com/IE.PNG

使用 IE,我看到顶部栏,但下拉菜单上的边框不好。并且下拉菜单也与导航栏分开(小于firefox)。

这里有代码:

index.php:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
        <link type="text/css" rel="stylesheet" href="./lib/css/layout.css" media="all"/>
    </head>

    <body>

    <div id="headerbar">
        Hello World
    </div>

    <div id="mainmenu-bar">
        <div id="mainmenu-content">
            <img src="./lib/images/logo.png" height="75" width="75" style="float:left;margin-top:5px;"/>
            <h1 style="color:white; float:left; margin-bottom:0px; display:inline-block;">X-Sky</h1>

            <div id="mainmenu">
                <ul>
                    <li>
                        <a href="#">Inicio</a>
                    </li>
                    <li>
                        <a class="menuitem" href="#">Acerca de</a>
                            <ul>
                                <li><a href="#">Producto</a></li>
                                <li><a href="#">Nosotros</a></li>
                            </ul>
                    </li>
                    <li>
                        <a class="menuitem" href="#">Servicios</a>
                        <ul>
                            <li><a href="#">Servicio uno</a></li>
                            <li><a href="#">Servicio dos</a></li>
                            <li><a href="#">Servicio tres</a></li>
                            <li><a href="#">Servicio cuatro</a></li>
                        </ul>
                    </li>
                </ul>
            </div>
        </div>
    </div>

    <div id="content">
        <h1 color="white">Hello World</h1>
    </div>

    </body>
</html>

layout.css

@font-face{font-family: Maven Pro; src: url(../fonts/MavenPro-Regular.ttf);}

body{font-family:Maven Pro; background:#ECECEC; border:0; font-size:100%; vertical-align:baseline; margin:0; padding:0;}

#headerbar{height:30px; float:right; margin-right:20px; margin-top:5px;}

/*MAIN MENU BAR*/
#mainmenu-bar{background:#4C84BC; width:100%; height:90px; overflow: hidden;}
#mainmenu-content{margin: 0 auto; width:1000px;}
#mainmenu{margin-top:35px; display:inline-block;}
#mainmenu ul li{float: left; margin-right: 20px; list-style: none;}
#mainmenu ul li a {color:#FFF; text-decoration: none; font-size:20px; margin-left:25px;}
#mainmenu ul li a:hover {color: #FCD100;}
#mainmenu ul li ul a {color: #000; font-size:16px; margin-left:10px; margin-top:10px; margin-bottom:10px; display: block;}
#mainmenu ul ul {display: none; padding: 0px; position: absolute; width: auto; margin-left: 0px;}
#mainmenu ul li:hover>ul {background: #fff; width:220px; border-right:1px solid #a4a4a4; margin-top:16px; z-index:9; position: absolute; box-shadow: 0 2px 1px rgba(0, 0, 0, 0.3); -moz-box-shadow: 0 2px 1px rgba(0, 0, 0, 0.3); -webkit-box-shadow: 1px 2px 1px rgba(0, 0, 0, 0.3); -o-box-shadow: 0 2px 1px rgba(0, 0, 0, 0.3); border-top:3px solid #FCD100; display: block;}
#mainmenu ul ul li {float: none;position: relative; text-decoration: none; display: block;}
#mainmenu ul ul li a{text-decoration: none;}
.menuitem {padding:0px 0px 11px;}
#mainmenu ul li:hover>.menuitem{border-bottom:5px solid #FCD100;}

注意:对不起,我第一次混淆了 index.php。现在好了!现在你可以试试这里的代码:http://jsfiddle.net/jaGwr/

【问题讨论】:

  • 从 CSS 重置开始。 cssreset.com
  • CSS Reset 或 Normalize 确实可以帮助您使事情尽可能相似。
  • 我试过了,但我没有解决问题。

标签: html css internet-explorer google-chrome firefox


【解决方案1】:

尝试在#headerbar div 之后添加一个清除

<body>

    <div id="headerbar">
        Hello World
    </div>
<!-- add this -->
<div style="clear:both;"></div>
<!-- end -->

    <div id="mainmenu-bar">
    {... }

如果您愿意,您可以添加一个 css 清晰样式类而不是内联

.clearBoth {clear:both;}

【讨论】:

    猜你喜欢
    • 2014-10-19
    • 1970-01-01
    • 2013-08-27
    • 2012-04-08
    • 1970-01-01
    • 1970-01-01
    • 2019-01-20
    • 2011-11-05
    • 1970-01-01
    相关资源
    最近更新 更多