一般情况下最佳选择是三个都用float:left,或者第三个用相反方向的,float:right。
至于ul,li列表方式。可以想象成li就是 div,用法一致。
需要注意的是嵌套使用ul,li时,父级的ul,li应用了float属性后,子级将继承该属性,一般需要在子级应用clear:both反之子级应用后会对下一个父级产生影响。这些需要自己反复测试,情况很多,代码也比较多。
用div+css的ul、li结合script脚本实现下拉列表菜单,全部代码如下,复制在DW中预览即可看到效果,细节样式可以自行修改:<!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/htmlcharset=gb2312" />
<title>DIV+CSS实现下拉列表菜单</title>
<style type="text/css">
<!--
ul {
margin: 0px
padding: 0px
list-style-type: none
}
li{
float:left
width:160px
margin-left:1px
}
ul li a{
display:block
font-size:12px
border:#CCCCCC 1px solid
padding:3px
text-decoration:none
color:#777777
margin-top:1px
text-align:center
}
ul li a:hover{
background-color:#0099CC
color:#FFFFFF
}
li ul{
display:none
top:20px
margin-top:1px
}
li:hover ul,li.over ul{
display:block
}
-->
</style>
</head>
<script type="text/javascript"><!--//--><![cdata]//><!--
startlist = function() {
if (document.all&&document.getElementByIdx) {
navRoot = document.getElementByIdx("nav")
for (i=0i<navRoot.childNodes.lengthi++) {
node = navRoot.childNodes[i]
if (node.nodeName=="li") {
node.onmouseover=function() {
this.className+=" over"
}
node.onmouseout=function() {
this.className=this.className.replace(" over","")
}
}
}
}
}
window.onload=startlist
//--><!]]></script>
</script>
<body>
<ul >
<li><a href="">文章</a>
<ul>
<li><a href="">CSS 教程</a></li>
<li><a href="">DOM 教程</a></li>
<li><a href="">XML 教程</a></li>
<li><a href="">Flash 教程</a></li>
</ul>
</li>
<li><a href="">参考</a>
<ul>
<li><a href="">XHTML</a></li>
<li><a href="">XML</a></li>
<li><a href="">CSS</a></li>
</ul>
</li>
<li><a href="">Blog</a>
<ul>
<li><a href="">全部</a></li>
<li><a href="">网页技术</a></li>
<li><a href="">UI 技术</a></li>
<li><a href="">Flash 技术</a></li>
</ul>
</li>
<li><a href="">摇滚</a>
<ul>
<li><a href="">纯音乐</a></li>
<li><a href="">古典金曲</a></li>
<li><a href="">UI 技术</a></li>
<li><a href="">Flash 技术</a></li>
</ul>
</li>
</ul>
</body>
</html>