gpt4 book ai didi

css - Firefox 中的下拉菜单

转载 作者:行者123 更新时间:2023-11-28 18:36:54 24 4
gpt4 key购买 nike

我这里有一个演示来说明我的问题

http://www.ttmt.org.uk/

这只是一个简单的向右浮动的导航栏,在“Two”下有一个下拉菜单。

下拉菜单包含大按钮,我希望菜单能够拉伸(stretch)上面红色条的宽度。

我通过给下拉菜单的 ul 设置一个负的左边距来让它工作。

    #nav #topNav ul#fontSubMenu{
background:#e1e1e1;
left:-999em;
position:absolute;
padding:25px 0px 10px 22px;
margin:0 0 0 -784px;
z-index:120;
1width:100%;
width:1028px;
}

在 Safari、Chrome (Mac) 中这似乎有效,但在 Firefox 中它有几个像素。

谁能告诉我为什么它出现在 Firefox 中,这是最好的方法吗。

    <!DOCTYPE html>
<html>
<head>
<title>Title of the document</title>
<link rel="stylesheet" type="text/css" href="http://yui.yahooapis.com/3.4.1/build/cssreset/cssreset-min.css">

<style type="text/css">
body{
font:1em Helvetica, sans-serif;
color:#555;
}

#wrap{
background:red;
margin:0 auto;
position:relative;
width:1050px;
}
#nav{
overflow:auto;
}
#nav #topNav{
float:right;
}
#nav #topNav li{
float:left;
margin:0 0 0 6px;
}
#nav #topNav li:hover,
#nav #topNav li a:hover{
background:#e1e1e1;
color:#555;
}
#nav #topNav li:hover .subNav{
border-bottom:6px solid #e1e1e1;
z-index:21;
}
#nav #topNav li a{
border-top:6px solid red;
border-bottom:6px solid red;
display:block;
padding:13px 13px;
color:white;
font-size:.98em;
font-weight:bold;
text-decoration:none;
}
#nav #topNav ul#fontSubMenu{
background:#e1e1e1;
left:-999em;
position:absolute;
padding:25px 0px 10px 22px;
margin:0 0 0 -784px;
z-index:120;
1width:100%;
width:1028px;
}
#nav #topNav li:hover ul#fontSubMenu{
left:auto;
}
#nav #topNav li ul#fontSubMenu li{
margin:0 14px 14px 0;
}
#nav #topNav li ul#fontSubMenu li a{
border: 1px solid #f7f7f7;
display:block;
color:#555;
position:relative;
font-size:.98em;
line-height:1.3em;
font-weight:normal;
width:162px;
height:45px;
}
#nav #topNav li ul#fontSubMenu li a em{
position:absolute;
left:75px;
bottom:13px;
width:100px;
font-style:normal;
}
#nav #topNav li ul#fontSubMenu li a:hover{
background:#aaa;
}

</style>

</head>


<body>
<div id="wrap">

<div id="nav">
<ul id="topNav">
<li><a href="#">One</a></li>
<li ><a href="#" class="subNav">Two</a>
<ul id="fontSubMenu">
<li><a href="#"><em>Two One</em></a></li>
<li><a href="#"><em>Two Two</em></a></li>
<li><a href="#"><em>Two Three</em></a></li>
<li><a href="#"><em>Two Four</em></a></li>
<li><a href="#"><em>Two Five</em></a></li>
<li><a href="#"><em>Two Six</em></a></li>
<li><a href="#"><em>Two Seven</em></a></li>
<li><a href="#"><em>Two Eight</em></a></li>
<li><a href="#"><em>Two Nine</em></a></li>
<li><a href="#"><em>Two Ten</em></a></li>
<li><a href="#"><em>Two Eeleven</em></a></li>
</ul>
</li>
<li ><a href="#">Three</a></li>

<li ><a href="#">Four</a></li>

<li ><a href="#">Five</a></li>
</ul>
</div><!--nav-->

</div><!--wrap-->

</body>
</html>

最佳答案

为什么不用绝对定位?菜单总是在同一个地方,对吧?

ul#fontSubMenu{
left: 0;
top: 58px;
margin: 0;
}

(并删除您在悬停时设置的 left: auto)。

顺便说一句,您的演示在 Chrome Windows 上也有大约 1-2 像素的偏差。

关于css - Firefox 中的下拉菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12436554/

24 4 0