-1

以下代码显示了一个弹出菜单。

<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>position ul</title>
<style type="text/css">

html, body, div, ul {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
#main {
position:relative;
width:950px;
height:30px;
margin:75px auto 0;/*75px beneath top of page, auto distance from page's right/left   side*/
border:2px solid #8c8b4b;
}
#main li {
width:92px;
height:30px;
float:left;
list-style-type:none;
border:2px solid red;
}
#main li a { text-decoration:none; }
#main li ul li {
width:400px;
border:2px solid #8c8b4b;
height:30px;
}
li.menu1 { background-image:url('images/men1.png'); }
li.menu2 { background-image:url('images/men1.png'); }
.menu2 li a {
color:white;
font-weight:bold;
}
li.menu2 div {
position:absolute;
margin-left:-999em;
padding-top:200px;
}
li.menu2 ul {
top:400px;
list-style:none;
margin:0;
font-size:110%;
}
li.menu2:hover div { margin:0; }
li.menu2:hover ul li { clear:left; }
ul li ul.rounded-corner {
border:2px solid red;
height: 200px;
width:776px;
background-image:url(../banner/bg_to_sitepoint.gif);
background-repeat:no-repeat;
-webkit-border-radius:50px;
-moz-border-radius:50px;
border-radius:50px;
}
</style>
</head>
<body>
<ul id="main">
<li class="menu1"><a href="#">menu item1</a></li>
<li class="menu2">menu item2
    <div>
       <ul class="rounded-corner">
     <li><a href="#">submenu2 item1</a></li>
     <li><a href="#">submenu2 item2</a></li>
     <li><a href="#">submenu2 item3</a></li>
    </ul>
     </div>
   </li>
  </ul>
 </body>
</html>

子菜单由位于 div 内的 ul 实体组成。我想改变 ul 在其祖先中的位置:一个 div。我添加:“顶部:100px;” 到“li.menu2 ul”选择器并看不到任何影响。“左”值也不好。谁能解释一下为什么我不能让那个 ul 在它的 div 中重新定位?我怎样才能让它移动到div中的其他地方?附件是我想更改的当前页面的屏幕截图。非常感谢 !

4

2 回答 2

0

给这个div

position:relative;

如果添加

padding-top:100px;

行不通试试

margin-top:100px;

反而。

于 2012-05-20T17:34:11.457 回答
0

您可以在 CSS 中添加 padding-top: 100px

li.menu2 ul {
  top:400px;
  list-style:none;
  margin:0;
  font-size:110%;
  padding-top:100px;
}

如果这就是你的意思(以及我所理解的),请看这里 http://jsfiddle.net/9NqDd/

于 2012-05-20T14:43:58.760 回答