<div class="nav">
<ul>
<li><a href="#">栏目一</a></li>
<li><a href="#">栏目二</a></li>
<li><a href="#">栏目三</a></li>
<li><a href="#">栏目四</a></li>
<li><a href="#">栏目五</a></li>
</ul>
</div>
现在为nav添加样式,首先去掉默认的margin和padding,再去掉<ul><li>标签的list-style样式和<a>标签的默认下划线。接下来再添加适当的样式(根据实际需要添加)进行美化,如一下样式:
<style type="text/css">
* { margin:0padding:0}
ul, li { list-style:none}
a { text-decoration:none}
.nav { border:2px solid #cccborder-right:noneoverflow:hiddenfloat:leftmargin:100px 0 0 300px}
.nav ul li { float:left}
.nav
ul li a
{ width:120pxheight:40pxtext-align:centerline-height:40pxdisplay:blockborder-right:2px
solid #cccbackground:#eeecolor:#666}
.nav ul li a:hover{ color:#f00}
</style>
像这样,一个菜单横向菜单就建好了,下面给栏目一,栏目二,栏目三,添加二级下拉菜单
<div class="nav">
<ul>
<li><a href="#">栏目一</a>
<ul>
<li><a href="#">二级栏目</a></li>
<li><a href="#">二级栏目</a></li>
<li><a href="#">二级栏目</a></li>
<li><a href="#">二级栏目</a></li>
</ul>
</li>
<li><a href="#">栏目二</a>
<ul>
<li><a href="#">二级栏目</a></li>
<li><a href="#">二级栏目</a></li>
<li><a href="#">二级栏目</a></li>
<li><a href="#">二级栏目</a></li>
</ul>
</li>
<li><a href="#">栏目三</a>
<ul>
<li><a href="#">二级栏目</a></li>
<li><a href="#">二级栏目</a></li>
<li><a href="#">二级栏目</a></li>
<li><a href="#">二级栏目</a></li>
<li><a href="#">二级栏目</a></li>
</ul>
</li>
<li><a href="#">栏目四</a></li>
<li><a href="#">栏目五</a></li>
</ul>
</div>
添加完二级栏目后,现在开始添加css样式,首先给<li>标签下的<ul>标签添加相对定位,再去除之下<li>标签的做浮动样式,再适当修改<a>标签,如一下样式:
.nav ul li ul { position:absolute}
.nav ul li ul li { float:none}
.nav ul li ul li a { border-right:noneborder-top:1px dotted #cccbackground:#f5f5f5}
接下来隐藏掉二级下来菜单,并给它添加鼠标滑动效果,使得当鼠标滑动到主栏目时,二级下来菜单显示,样式如下:
.nav ul li ul { position:absolutedisplay:none}
.nav ul li ul li { float:none}
.nav ul li ul li a { border-right:noneborder-top:1px dotted #cccbackground:#f5f5f5}
.nav ul li:hover ul{ display:block}
至此,横向二级下拉菜单就制作完成了,这里附加上全部代码
重叠在一起需要改变默认的布局方式,将其中一个显示在上层需要设置深度顺序,这两点分别用如下样式完成
position: absolute /*设置为绝对定位*/z-index:999 /*设置重叠的上下次序,值越大月在上方*/
示例如下
创建Html元素
<div class="top"><div class="b">我是绝对定位,并且重叠在上方</div>
<div class="a">我是默认定位</div>
</div>
设置css样式
div.top{margin:50pxpadding:20pxwidth:200pxheight:200pxborder:2px dashed #ebbcbe}div.top div{width:100pxheight:100pxpadding:10pxcolor:white}
div.a{background:red}
div.b{background:greenposition:absolutetop:100pxleft:100pxz-index:999}
观察显示效果
1.定位位置会随浏览器缩小而改变,你可以给body加个相对定位,body{position:relative}2.至于你的第一个问题,可以用css hack 来写 比如div为父元素,p为他的子元素,p需要定位:div{position:relative} div p{position:absoluteleft:10px*left:8px_left:7px} 其中left里面的 数值可以根据你实际的情况改变,我只是举个例子!