设定Li高度的问题

mimouzao 2012-04-19 09:11:50

<!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 runat="server">
<title>scrollTest</title>
<style type="text/css">
.div {
border-right: #00ffff 1px solid;
border-top: #00ffff 1px solid;
border-left: #00ffff 1px solid;
border-bottom: #00ffff 1px solid;
}
<!--

ul {
margin: 0;
padding: 0;
list-style: none;
border-right: 1px solid #ccc;
font: normal 12px verdana;
}

ul li ul {
margin: 0;
padding: 0;
list-style: none;
border-bottom: 1px solid #ccc;
}

ul li {
position: relative;
float:left;
width: 80px;
text-align:center;
}

ul li ul li {
position: relative;
float:inherit;
}

li ul {
position: absolute ;
left: 0px;
top: 24px;
display: none;

}
/* Styles for Menu Items */
li a:hover{
background: #146C9C;
color: #fff;
}

ul li a {
display: block;
text-decoration: none;
color: #777;
background: #fff; /* IE6 Bug */
padding: 5px;
border: 1px solid #ccc; /* IE6 Bug */
border-right:0;
height:12px;
}

ul li ul li a {
display: block;
text-decoration: none;
color: #777;
background: #fff; /* IE6 Bug */
padding: 5px;
border: 1px solid #ccc; /* IE6 Bug */
border-bottom:0;
border-right:0;
}

/* Holly Hack. IE Requirement \*/
* html ul li { float: left; height: 1%; }
* html ul li a { height: 1%; }
/* End */
li:hover ul, li.over ul { display: block; } /* The magic */
-->
</style>

<script type="text/javascript" language="javascript">

// JavaScript Document
startList = function () {
if (document.all && document.getElementById) {
navRoot = document.getElementById("nav1");
for (i = 0; i < navRoot.childNodes.length; i++) {
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>

</head>
<body >
<form id="frm1" runat="server">

<ul id="nav1"style="margin-top:15px; margin-left:70px">
<li id="01"><a href="#">nothing is impossible</a>
<ul>
<li><a href="#">History</a></li>
<li><a href="#">Team</a></li>
<li><a href="#">Offices</a></li>
</ul>
</li>
<li id="02"><a href="#">test2</a>
<ul>
<li><a href="#">History</a></li>
<li><a href="#">Team</a></li>
<li><a href="#">Offices</a></li>
</ul>
</li>
<li id="03"><a href="#">test3</a>
<ul>
<li><a href="#">apple</a></li>
<li><a href="#">juice</a></li>
<li><a href="#">peach</a></li>
</ul>
</li>
<li id="04" style="border-right: 1px solid #ccc;"><a href="#">test4</a>
<ul>
<li><a href="#">United</a></li>
<li><a href="#">France</a></li>
<li><a href="#">USA</a></li>
<li><a href="#">Australia</a></li>
</ul>
</li>
</ul>

</form>

</body>
</html>

这个菜单第一个Li因为a标签字数太多被撑开了,跟其他Li高度不一样,但是li的height怎么设都不起作用。
如果设定<a>的height,菜单的文字就不是垂直居中了,该怎么实现菜单的文字不论是一行还是两行,都垂直居中?感谢!
...全文
435 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
mimouzao 2012-04-19
  • 打赏
  • 举报
回复
有木有高手啊!求助!!
mimouzao 2012-04-19
  • 打赏
  • 举报
回复
如果是这样的话,有两行字的Li,两行字的行间距会变得非常大,而且一行字的li还是靠上显示,没有垂直居中
[Quote=引用 3 楼 的回复:]
你直接用a来控制高度
至于你说的垂直居中你可以给a加上style="line-height:30px;"
30px就是你设置的a的高度
[/Quote]
惟楚有才 2012-04-19
  • 打赏
  • 举报
回复
你直接用a来控制高度
至于你说的垂直居中你可以给a加上style="line-height:30px;"
30px就是你设置的a的高度
mimouzao 2012-04-19
  • 打赏
  • 举报
回复
还有别的办法吗,顶顶
Fs_2011 2012-04-19
  • 打赏
  • 举报
回复
li标签在ie8一下的display:block,但是在ie8/firefox等浏览器中都是display:list-item的,如果想像操作块元素一样设置li的高度,要设置它的display=none

62,268

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧