如何使用CSS删除<ul>无序列表的最后<li>列表项的边框而不更改HTML代码中的任何内容?

Jit*_*yas 14 html css xhtml

如何在不向最后一个列表项添加任何类的情况下使用CSS 删除<ul>无序列表的最后一个<li>列表项的边框?

在这里查看实例:http://jsbin.com/umose

body { background-color: #fff; font: 16px Helvetica, Arial; color: #000; }
li
{
    display: inline;
    list-style-type: none;
    padding:0 20px 0 20px;
    border-right:1px solid green;
}
#navlist li:last-child { border-right: ; }
Run Code Online (Sandbox Code Playgroud)
<p id="hello"></p>
<ul id="navlist" >
  <li ><a href="#" id="current">Item one</a></li>
  <li id="active"><a href="#">Item two</a></li>
  <li><a href="#">Item three</a></li>
  <li><a href="#">Item four</a></li>
  <li><a href="#">Item five</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

Joh*_*n K 38

添加此样式,您无需修改​​任何其他内容:

#navlist li:last-child { border-right:0px; }
Run Code Online (Sandbox Code Playgroud)

编辑:

原始剧本

答案适用的原始脚本在此处发布,因为jsbin.com可能会删除3个月内未查看的内容.

<!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" xml:lang="en" lang="en">
<head>
<title>Sandbox</title>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<style type="text/css" media="screen">
body { background-color: #fff; font: 16px Helvetica, Arial; color: #000; }
#navlist li
{
display: inline;
list-style-type: none;
padding:0 20px 0 20px;border-right:1px solid red;
}
/* !!!!!!!!!!!!!! PASTE ANSWER HERE TO MAKE THE FIX !!!!!!!!!!!!!!!! */
</style>
</head>
<body>
  <p>Hello from JS Bin</p>
  <p id="hello"></p>
  <ul id="navlist">
<li id="active"><a href="#" id="current">Item one</a></li>
<li><a href="#">Item two</a></li>
<li><a href="#">Item three</a></li>
<li><a href="#">Item four</a></li>
<li><a href="#">Item five</a></li>
</ul>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

  • 可能存在兼容性问题,请参阅http://www.quirksmode.org/css/contents.html (2认同)

Kev*_*vin 10

我一直这样做,没有CSS3或JavaScript.您需要做的就是浮动您li并使用高级选择器+:

<style>
ul li {
 float: left;
 border: none; }

li + li {
 border-left: 1px solid #F00; } 
</style>
Run Code Online (Sandbox Code Playgroud)

这将保持第li一个边界.