我的网站在Firefox中看起来不太好

时间:2011-07-26 13:36:50

标签: html css firefox

我正在开发一个网络应用程序,我的代码在chrome和资源管理器上运行良好,但在Firefox上它给我带来了麻烦。 我添加一个截图链接,以便您可以看到菜单的外观(黑色CSS框应该在菜单下): link to see the menu

这是我的风格css:

/ - 菜单 - /

#menu { height:39px; position:relative; float:right; margin-top:33px; background:url(../images/menu/bg.jpg) repeat-x; }
#menu-left { width:8px; height:38px; position:relative; z-index:10; float:left; background:url(../images/menu/menu-sx.jpg); }
##menu-right { width:8px; height:38px; position:relative; z-index:10; float:right; background:url(../images/menu/menu-dx.jpg); }

.menu-item { float:left; position:relative; z-index:100; cursor:pointer; }
#menu-name { float:left; padding-top:10px; padding-right:11px; font-size:10pt; color:#FFF; text-shadow:#001F2E 0px -1px; }

#menu-rollover-left { width:98px; height:38px; position:absolute; top:0; left:0; z-index:0; background:url(../images/menu/rollover-left.jpg); }
#menu-rollover-right { width:86px; height:38px; position:absolute; top:0; right:0; z-index:0; background:url(../images/menu/rollover-right.jpg); }

/*-- Menu labels --*/
.label { height:34px; position:absolute; top:103px; z-index:200; opacity:0; filter:alpha(opacity=0); }
.label-left { width:9px; height:34px; float:left; background:url(../images/menu/label-left.jpg); }
.label-right { width:9px; height:34px; float:left; background:url(../images/menu/label-right.jpg); }
.label-center { height:34px; float:left; background:url(../images/menu/label-center.jpg) center; }
.label-center span { position:relative; top:7px; font-size:8pt; color:#FFF; text-shadow:#000 0px -1px; }

/*-- Notifications flag --*/
#header a { text-decoration:none;}
#red-flag { width:27px; height:51px; position:absolute; top:33px; right:62px; z-index:300; background:url(../images/menu/red-flag.png); font-size:9pt; color:#FFF; text-shadow:#3B0001 0px -1px; text-align:center; line-height:67px; cursor:pointer; }

这是我的HTML代码:

<div id="menu">
     <div id="menu-left"></div>

        <a href="/doweets/index"><div id="home-btn" class="menu-item" onmouseover="RollMenu(this, event);" onmouseout="RollMenu(this, event);"><img src="/images/menu/home.jpg" /></div></a>
        <a href="/calendar/week"><div id="calendar-btn" class="menu-item" onmouseover="RollMenu(this, event);" onmouseout="RollMenu(this, event);"><img src="/images/menu/calendar.jpg" /></div></a>
        <a href="/findfriends"><div id="addfriends-btn" class="menu-item" onmouseover="RollMenu(this, event);" onmouseout="RollMenu(this, event);"><img src="/images/menu/addfriends.jpg" /></div></a>
        <div class="menu-item"><img src="/images/menu/line.jpg" /></div>

        <div id="menu-name"><%= current_user.name %></div>

        <a href="/notifications/index"><div id="notifications-btn" class="menu-item" onmouseover="RollMenu(this, event);" onmouseout="RollMenu(this, event);"><img src="/images/menu/notifications.jpg" /></div></a>
        <a href="/users/edit"><div id="settings-btn" class="menu-item" onmouseover="RollMenu(this, event);" onmouseout="RollMenu(this, event);"><img src="/images/menu/settings.jpg" /></div>
        <a href="/users/sign_out"><div id="logout-btn" class="menu-item" onmouseover="RollMenu(this, event);" onmouseout="RollMenu(this, event);"><img src="/images/menu/logout.jpg" /></div></a>

        <div id="menu-right"></div>

        <!-- Rollover states -->
        <div id="menu-rollover-left"></div>
        <div id="menu-rollover-right"></div>
</div>



   <!-- Notifications flag -->
   <a href="/notifications/index"><div id="red-flag" onmouseover="RollMenu(this, event);" onmouseout="RollMenu(this, event);">
<%= count %>

<% if count == 0 %>
<script>$("#red-flag").css("display", "none");</script>
<% end %>

</div></a>

在菜单的某些页面上,它根本不起作用。 谢谢你们。 尼尔。

2 个答案:

答案 0 :(得分:0)

我认为您的问题与position: relativeposition: absolute的不同元素有关。很难确切地看到(特别是因为我不确定黑盒应该是哪个元素)。但是,我看到您为position: relative分配了一个z-index元素,但这不起作用。我认为正在发生的事情是,绝对定位的元素在Chrome和IE中推动你的小黑旗,但不在Firefox中。如果可能的话,尝试将所有内容转换为position: absolute - 这对我解决FF问题非常有用。

另外,如果您提供了一个网址,我确信有很多人会很高兴在firebug中使用它,直到它被修复。

答案 1 :(得分:0)

尝试这样的事情:

<强> HTML

<ul>
    <li><a href='#' alt='Back to the homepage'><img src='' alt='Home'><span>Home</span></a></li>
    <li><a href='' alt=''><img src='' alt=''/><span>Lorem</span></a></li>
</ul>

<强> CSS

#menu { display:block; padding:0 0 0 5px; background:#ccc; }
#menu li { display:inline-block; padding:0 5px 0 0; height:20px; }
#menu li a { position:relative; }
#menu li a span { position:absolute; top:20px; }
#menu li a:link span,
#menu li a:visited span { display:none; }
#menu li a:hover span,
#menu li a:active span { display:block; }