这个下拉菜单的子菜单位置问题
代码如下,现在的问题是字菜单有一定的位移,怎么使得子菜单直接在菜单的下面打开,没有向右移动.
调试的话直接将全部代码存为HTM就可以了.谢谢各位.
<style type="text/css">
<!--
*{padding:0;}
body {
font-family: arial;
font-size:12px;
}
#nav {
line-height: 24px; list-style-type: none; background:#666;
}
#nav a {
display: block; width: 100px; text-align:center; /* 菜单宽度 */
}
#nav a:link {
color:#666; text-decoration:none;
}
#nav a:visited {
color:#666;text-decoration:none;
}
#nav a:hover {
color:#FFF;text-decoration:none;
}
#nav li {
float:left; width: 120px; background:#CCC; /* 菜单底纹宽度 */
}
#nav li a:hover{
background:#999;
}
#nav li ul {
line-height: 27px; list-style-type: none;text-align:left;
left: -999em; width: 150px; position: absolute;
}
#nav li ul li{
float: left; width: 150px; /* 下拉菜单背景宽度*/
background: #F6F6F6;
}
#nav li ul a{
display: block; width: 150px;text-align:left;padding-left:24px; /* 下拉菜单宽度*/
}
#nav li ul a:link {
color:#666; text-decoration:none;
}
#nav li ul a:visited {
color:#666;text-decoration:none;
}
#nav li ul a:hover {
color:#F3F3F3;text-decoration:none;font-weight:normal;
background:#ff0000;
}
#nav li:hover ul {
left: auto;
}
#nav li.sfhover ul {
left: auto;
}
-->
</style>
<script type=text/javascript><!--//--><![CDATA[//><!--
function menuFix() {
var sfEls = document.getElementById("nav").getElementsByTagName("li");
for (var i=0; i<sfEls.length; i++) {
sfEls[i].onmouseover=function() {
this.className+=(this.className.length>0? " ": "") + "sfhover";
}
sfEls[i].onMouseDown=function() {
this.className+=(this.className.length>0? " ": "") + "sfhover";
}
sfEls[i].onMouseUp=function() {
this.className+=(this.className.length>0? " ": "") + "sfhover";
}
sfEls[i].onmouseout=function() {
this.className=this.className.replace(new RegExp("( ?|^)sfhover\\b"),
"");
}
}
}
window.onload=menuFix;
//--><!]]></script>
</head>
<body bgcolor="#A13300" leftMargin=0 topMargin=0 marginwidth="0" marginheight="0">
<table width="780" height="104" border="0" cellpadding="0" cellspacing="0" align="center" bgcolor="ffffff">
<tr><td><br><br><br><br></td></tr>
<tr>
<td align="center"><table align=right width=780 cellpadding="0" cellspacing="0" align="center"><tr><td>
<ul id="nav">
<li><a href="#">home</a>
<ul>
<li><a href="about.asp">PROFILE</a></li>
<li><a href="Organize.asp">Information</a></li>
</ul>
</li>
<li><a href="#">About us</a>
<ul>
</ul>
</li>
<li><a href="#">product</a>
<ul>
<li><a href="product.asp?bigclassname=Dry flower">Dry flower</a></li>
<li><a href="product.asp?bigclassname=Fragrant Bag">Fragrant Bag</a></li>
<li><a href="product.asp?bigclassname=xionghua">xionghua</a></li>
<li><a href="product.asp?bigclassname=penjing">penjing</a></li>
<li><a href="product.asp?bigclassname=other">other</a></li>
</ul>
</li>
<li><a href="#">recommend</a>
<ul>
<li><a href=""></a></li>
</ul>
</li>
<li><a href="contact.asp">order online</a>
<ul>
</ul>
</li>
<li><a href="contact.asp">contact us</a>
<ul>
</ul>
</li>
</ul></td></tr></table>
</td></tr>
</table><strong></strong>
调试的话直接将全部代码存为HTM就可以了.谢谢各位.
<style type="text/css">
<!--
*{padding:0;}
body {
font-family: arial;
font-size:12px;
}
#nav {
line-height: 24px; list-style-type: none; background:#666;
}
#nav a {
display: block; width: 100px; text-align:center; /* 菜单宽度 */
}
#nav a:link {
color:#666; text-decoration:none;
}
#nav a:visited {
color:#666;text-decoration:none;
}
#nav a:hover {
color:#FFF;text-decoration:none;
}
#nav li {
float:left; width: 120px; background:#CCC; /* 菜单底纹宽度 */
}
#nav li a:hover{
background:#999;
}
#nav li ul {
line-height: 27px; list-style-type: none;text-align:left;
left: -999em; width: 150px; position: absolute;
}
#nav li ul li{
float: left; width: 150px; /* 下拉菜单背景宽度*/
background: #F6F6F6;
}
#nav li ul a{
display: block; width: 150px;text-align:left;padding-left:24px; /* 下拉菜单宽度*/
}
#nav li ul a:link {
color:#666; text-decoration:none;
}
#nav li ul a:visited {
color:#666;text-decoration:none;
}
#nav li ul a:hover {
color:#F3F3F3;text-decoration:none;font-weight:normal;
background:#ff0000;
}
#nav li:hover ul {
left: auto;
}
#nav li.sfhover ul {
left: auto;
}
-->
</style>
<script type=text/javascript><!--//--><![CDATA[//><!--
function menuFix() {
var sfEls = document.getElementById("nav").getElementsByTagName("li");
for (var i=0; i<sfEls.length; i++) {
sfEls[i].onmouseover=function() {
this.className+=(this.className.length>0? " ": "") + "sfhover";
}
sfEls[i].onMouseDown=function() {
this.className+=(this.className.length>0? " ": "") + "sfhover";
}
sfEls[i].onMouseUp=function() {
this.className+=(this.className.length>0? " ": "") + "sfhover";
}
sfEls[i].onmouseout=function() {
this.className=this.className.replace(new RegExp("( ?|^)sfhover\\b"),
"");
}
}
}
window.onload=menuFix;
//--><!]]></script>
</head>
<body bgcolor="#A13300" leftMargin=0 topMargin=0 marginwidth="0" marginheight="0">
<table width="780" height="104" border="0" cellpadding="0" cellspacing="0" align="center" bgcolor="ffffff">
<tr><td><br><br><br><br></td></tr>
<tr>
<td align="center"><table align=right width=780 cellpadding="0" cellspacing="0" align="center"><tr><td>
<ul id="nav">
<li><a href="#">home</a>
<ul>
<li><a href="about.asp">PROFILE</a></li>
<li><a href="Organize.asp">Information</a></li>
</ul>
</li>
<li><a href="#">About us</a>
<ul>
</ul>
</li>
<li><a href="#">product</a>
<ul>
<li><a href="product.asp?bigclassname=Dry flower">Dry flower</a></li>
<li><a href="product.asp?bigclassname=Fragrant Bag">Fragrant Bag</a></li>
<li><a href="product.asp?bigclassname=xionghua">xionghua</a></li>
<li><a href="product.asp?bigclassname=penjing">penjing</a></li>
<li><a href="product.asp?bigclassname=other">other</a></li>
</ul>
</li>
<li><a href="#">recommend</a>
<ul>
<li><a href=""></a></li>
</ul>
</li>
<li><a href="contact.asp">order online</a>
<ul>
</ul>
</li>
<li><a href="contact.asp">contact us</a>
<ul>
</ul>
</li>
</ul></td></tr></table>
</td></tr>
</table><strong></strong>
...全文
相关推荐
div+css各种下拉菜单
通过`position`属性(如`relative`、`absolute`和`fixed`)控制元素的位置,以及`z-index`来处理层叠关系,确保子菜单在触发器下方正确显示。
非常好看的下拉菜单
在网页设计中,下拉菜单是一种常见的交互元素,它能够有效地节省空间并提供多级导航。本主题聚焦于创建一款“非常好看的下拉菜单”,它不仅解决了传统下拉框样式不可控的问题,还提升了网页的整体美观度。
纯div+css制作的下拉菜单
同时,通过`position`属性来控制菜单的位置,确保它们在屏幕内可见。总结,纯div+css制作的下拉菜单涉及HTML结构、CSS样式以及可能的JavaScript辅助。
纯CSS多级下拉菜单
设置定位和层级,确保子菜单出现在正确的位置。5. 可选地,添加过渡动画和自定义样式,提升用户体验。通过熟练掌握这些技巧,你可以轻松创建出符合需求的、功能丰富的纯CSS多级下拉菜单。
一个纯css实现的下拉菜单
: block;}```此外,我们还需要对菜单项进行适当的定位,以便下拉菜单在正确的位置出现。


