我们在制作网站导航时,常常用分隔符将栏目隔开,但是我们会发现一个问题,在最后一个栏目li的右边会出现一个竖线间隔符。
我们一般是用ul li样式来布局导航栏目,用css在li的右侧增加border为1px的边框,这样就实现了在每个栏目之间有一个竖线的间隔符。但在最后一个栏目的右侧也就不可避免地出现了竖线,这样很不美观,我们用什么方法可以去掉最后一个li的分隔符呢?

我总结了两个方法可以去掉最后一个分隔符:引用jquery库实现,原生js代码实现。现在分别做介绍。
引入一个jquery库,例子如下:
<!DOCTYPE html>
<html>
<head>
<title>去掉最后一个li样式</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<script type="text/javascript">
$(function(){
$("#test li:last").css("border","none");//关键函数,注意容器id"#test"要和html代码中一样
})
</script>
<style type="text/css">
ul, li { margin:0; padding:0; list-style:none; }
#test { width:200px; }
#test li { width:100%; height:24px; border-right:1px solid red; }
</style>
</head><body>
<ul id="test">
<li>菜单一</li>
<li>菜单二</li>
<li>菜单三</li>
</ul>
</body>
</html>
通过jquery的last方法可以获取最后一个li,进而定义css样式。
直接用原生js
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>去掉最后一个li样式</title>
<script type="text/javascript">
window.onload = function urlborder() {
var listr = document.getElementById("test").getElementsByTagName('li');
//注意容器id"test"要和html代码中一样
for (var i = 0; i < listr.length; i++) {
if (i == listr.length - 1) {
listr[i].style.borderWidth = "0";
}
}
}
</script>
<style type="text/css">
ul,li{ margin:0; padding:0; list-style:none; }
#test{ width:200px;}
#test li{ width:100%; height:24px; border-right:1px solid red;}
</style>
</head>
<body>
<ul id="test">
<li>菜单一</li>
<li>菜单二</li>
<li>菜单三</li>
</ul>
</body>
</html>
先通过js获取到有多少个li,再利用for语句处理最后一个li的css。
声明:如需转载,请注明来源于www.webym.net并保留原文链接:http://www.webym.net/jiaocheng/503.html





















