CSS:如何改变“ul”的位置?

时间:2012-05-20 14:37:03

标签: css

以下代码显示弹出菜单。

<!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”选择器,看不到任何影响。 “左”的价值也不好。 任何人都可以解释我为什么我不能让它重新定位在它的'div? 我怎样才能让它移动到div内的其他地方? 附件是我想改变的当前页面的屏幕截图。 非常感谢!

2 个答案:

答案 0 :(得分: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/

答案 1 :(得分:0)

给这个div

position:relative;

如果添加

padding-top:100px;

无法使用

margin-top:100px;

代替。