css - 摆脱 li 最后一项计数器

标签 css html-lists

我有一个恼人的问题..我希望对列表中的前 4 项进行编号,但我想将第五项排除在编号之外..这是我的 css:

#alternate_navigation ol
{
    display:block;
    padding:0;
    margin:0;
    counter-reset: item;
}

#alternate_navigation li
{
    display:block;
    padding:0px 0px 0px 10px; 
    margin:0;
    background: url('images/list_bg.jpg') no-repeat;
    height:19px;
    width:99%;
    border-bottom:1px solid #B9B5B2;
}

#alternate_navigation li:before 
{ 
  content: counter(item) ". "; 
  counter-increment: item ;
}

结果:

  1. 在线预订
  2. 优惠券订购
  3. 打印信件
  4. 发送电子邮件
  5. 查看订单

我怎样才能让最后一项不被这样编号:

  1. 在线预订
  2. 优惠券订购
  3. 打印信件
  4. 发送电子邮件
    查看订单

是的 HTML

<div id="alternate_navigation">
                   <ol>
                   <li><a href="#">Online Booking</a></li>
                   <li><a href="#">Coupon Ordering</a></li>
                   <li><a href="#">Print Letters</a></li>
                   <li><a href="#">Send Emails</a></li>
                   <li><a href="#">View orders</a></li>
                   </ol>
                   <div>

感谢您的任何回复

最佳答案

在您当前的 CSS 之后,添加:

#alternate_navigation li:last-child:before {
    content: "";
    counter-increment: none;
}

这应该“重置”最后一个元素的样式。

编辑: 我应该提一下,由于使用了 :last-child,这在 IE8 中不起作用。 .如果您需要 IE6/7/8 兼容性,我会使用 JQuery 之类的东西,而不是手动插入 HTML 标记。

关于css - 摆脱 li 最后一项计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1406372/

相关文章:

html - 将导航栏完全左对齐并分成 12 个部分

html - CSS 样式问题和添加图形

html - 将文本对齐到 div 的中心

html - 预加载图像

php - 删除 <ul> 标签之间的 html 换行符

带有图像的 HTML 列表 - 水平对齐

javascript - D3.js HTML 列表和子列表上的嵌套数据连接

javascript - 如何让用户仅使用背景图像在 x 轴上的 Canvas 上画一条线?

CSS::列表项上的最后一个 child

css - 在 DIV 内水平居中 UL