我试图在 div 标签内均匀分布导航项。我的代码如下。它进行一些计算并给出结果。
在 Chrome、Opera 和 Safari 上运行正常,但在 IE8 和 Firefox 上确实有一些问题。我想要的是将所有计算结果(li 宽度、容器宽度、填充)转换为百分比而不是像素,以便在所有浏览器上正确工作。
请让我知道是否有人有解决方案。
而且我的代码在刷新后有时也会出现问题,这可能是什么原因?
谢谢!
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
<style>
* {
margin: 0;
padding: 0;
}
body {
width: 960px;
margin: 0 auto;
}
.container {
width: 100%;
}
.menu {
width: 100%;
list-style: none;
}
.parent {
float: left;
background: red;
margin-right: 1px;
padding: 0;
}
.parent:last-child {
margin-right: 0px;
}
</style>
</head>
<body>
<div class="container">
<ul class="menu">
<li class="parent"><a href="#">О Фонде</a> </li>
<li class="parent"><a href="#">Дети</a> </li>
<li class="parent"><a href="#">Проекты</a> </li>
<li class="parent"><a href="#">Новости</a> </li>
<li class="parent"><a href="#">Как помочь</a> </li>
<li class="parent"><a href="#">Вам нужна помощь?</a> </li>
<li class="parent"><a href="#">Специалистам</a> </li>
<li class="parent"><a href="#">Волонтерство</a> </li>
</ul>
</div>
<script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
<script>
$(document).ready(function() {
var a = $(".menu li.parent").length;
var b = 0;
$(".menu li.parent").each(function(){
b = b + $(this).width()
});
var c = ($(".container").width() - b - (a-1))/a ;
var d = c/2;
$(".parent").css("padding", d)
});
</script>
</body>
</html>