这个题目真心难取啊,估计仅仅看题目是难以理解的文章写的什么,所以仔细阅读吧,上图为大家驾驶一番

enter image description here

就是为了处理掉上图所标注的最后一个li样式,所以这篇文章应运而生,其实这个问题早在当初折腾代码实现文章仿“无觅”效果的 相关文章的时候便产生了,当初没怎么在意,直到阅读到 @倡萌 的文章后,问题解决了,倡萌那里提供了两种解决办法,都是用的js,但是我并不喜欢这两种方式,于是尝试纯CSS方式。

下面的前两种方法是来自倡萌提供的的JS代码,优点是兼容性好支持低版本的IE6浏览器,不过现在使用IE6的用户真的是越来越少了,你可以大胆的采用CSS的方式来完成这一操作,那就看一看“方法三”

方法一

已经引入了jQuery库,再加一句简单的js代码即可:

<html>
<title></title>
<head>
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>//引入jQuery库
<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库,使用原生js代码实现:

<html>
<title></title>
<head>
<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>

方法三

使用:first-child:last-child伪类:

纯css的:first-child:last-child伪类就可以胜任此任务,操作很方便,代码量忽略不计。支持IE7+,不支持IE6(last支持IE8+)

以兼容性更好的:first-child伪类为例,关于:first-child伪类的解释如下:

:first-child 伪类向元素的第一个子元素添加样式。

阅读详细解释 >

处理前,需要把li样式的right线改为left:

enter image description here

参考代码:

.relatebar li{width:98px;height:146px;padding:5px;float:left;border-left:1px solid #ccc;}
.relatebar li:first-child{border-left:0px solid #ccc;}

解释:

用:first-child伪类给li的第一个样式改为0px,或者none也行,这样第一个li就没有哪条多余的横线啦!

:last-child伪类与:first-child伪类用法相同,不同的是:last-child是为元素的最后一个子元素添加样式

标签: css

已有 74 条评论

  1. 占个沙发,这个伪类都问了你好多次了,都不告诉我 :eek:

    1. Tokin Tokin

      @斌果:拜托,:first-child我以为你会啊,这么简单。。。 :!:

      1. @Tokin:我真的不会,从来没看到别人用过。。。。 :grin: :sad:

        1. Tokin Tokin

          @斌果:我当初折腾G1的时候,页脚的读者排行,,,你敢说你没问什么吗。。。 :cry:

          1. @Tokin:我记性哪里那么好,看一遍规则就能背下来。。。 :???:

  2. 沙发被占了 :twisted: 原来还有这个方法

  3. 头像转呀转,头晕

    1. Tokin Tokin

      @bbis:你视力太好了,或者心理太强大了,哈哈

  4. 主题又换了,还是觉得原来的好哇

    1. Tokin Tokin

      @飘零:哪个…G1、2、3…我换了几个了都

  5. 右边的云萌是不是搞成感应式的?

    1. Tokin Tokin

      @免费资源部落:我也不想挂云盟啊,为了得到盛大的免费VPS,迫不得已啊…现在已经给注释掉了,那东西太大了,影响美感

      1. @Tokin:注释掉了,好看多了,话说这样做不会导致盛大不满?

        1. Tokin Tokin

          @免费资源部落:那VPS对我来说是可有可无的,申请下来就试试,好就用,不好就不用,申请不下来也没损失…

  6. 生命不止,折腾不休 :shock:

  7. 对一个不懂代码的人来说,你写的再清楚终究还是不懂,对懂的人来说你只要点出来人家就知道。
    所以我是属于不懂代码的那一类 :sad:

    主机速度杠杠的 :razz:

    1. Tokin Tokin

      @无名:我这文章是写给那些半懂半不懂的人的…

      1. @Tokin:我就是

        1. Tokin Tokin

          @斌果:还可以:last-child,控制最后一个元素

  8. 比较喜欢第三种 有些菜单中间加上间隔 最后一个也是这么去掉的

    1. Tokin Tokin

      @刘荣焕:第三种办法是缺憾第一个li样式…

  9. 每个都能控制的nth-child

    1. Tokin Tokin

      @大发:我只知道这个伪类…看文档看了好久,没发现别的类似的…纠结

    2. Tokin Tokin

      @大发:刚才重新看了下,发现我有用这东西,不过这个东西不支持IE8…不知道IE9行不行…

  10. 过来学习下,这么多的方法,对我用处大大。支持下博主。

  11. 也这么解决的。。。 :sad:

    1. Tokin Tokin

      @公子:我之前没用线…后来才用的

      1. @Tokin: :smile: :smile: 能解决问题就好。。。

  12. 不晓得你在嗦什么

    1. Tokin Tokin

      @OYOY:你可以直接忽略这个文章…

      1. @Tokin:艹
        现在的邮件略叼

        1. Tokin Tokin

          @OYOY:邮件样式吗?

  13. CSS看了头疼啊。

    1. Tokin Tokin

      @tiandi:觉得CSS是个美妙的东西…

      1. @Tokin:我也是

  14. 发现现在变懒了,唉~ :eek:

    1. Tokin Tokin

      @ye,夜:不要懈怠,每次觉得没什么可写的时候,就写一下心情拉拉家常,不然就没必要玩博客了…

      1. @Tokin: :cry: :cry: 道理谁都懂。。。

  15. 挺厉害哦

  16. 技术人就是不一样

  17. 嗯,路过学习下 :razz:

  18. 你的广告效果怎么样?

    1. Tokin Tokin

      @醉风云博客:我的广告效果怎么样?什么意思…

      1. @Tokin:我是说你的搜狗联盟的广告赚钱不

        1. Tokin Tokin

          @醉风云博客:还行吧,2012.12挂的广告,到2013.05月月低,应该就70多块钱了…满100提现。
          要吐嘈的就是,我至今没搞清楚“千次展示”的收益是什么情况,而且搜狗单价特别神奇,最低2分钱一点击,大多数都是3毛左右一点击…

  19. 博客越来越好看啦~

  20. 评论的样式越来好看了,想扒皮了 :eek: :eek:

    1. @木头怀:我很爱他的发表评论横幅,就是带头像的,很好

      1. @斌果:哦,可以果断扒皮呀 :?: :?:

        1. @木头怀:我问他要主题了,正在本地折腾我的新主题

          1. @斌果:我一要一份??

            1. @木头怀:你又不是wordpress。。。
              喜欢就得扒皮,源码给你也没用。。。。。

          2. @斌果:你的站打不开?挂了?

            1. @木头怀:没有啊,一切正常

  21. 深夜没事来评论下!!

    1. Tokin Tokin

      @晒太阳的奶酪:九点…我刚放学到家

  22. 伪类 first-child last-child 的确挺方便的,个人觉得,就以不必考虑IE6了

    1. Tokin Tokin

      @胡倡萌:我尝试了下,貌似IE7不支持。。。不过也无关紧要,用从来没见过身边的朋友用IE7

  23. :lol: :lol: :lol: :lol: :lol: 星期日来访

    1. 大大 大大

      好礼你好

  24. G2测试下,测测测

    1. @斌果:我怎么被认证啦 :smile: :smile: :smile: :smile: :smile: :smile: :smile:

      1. 大大 大大

        恩好奥的

  25. 话说。。不碍眼啊。。就1px。。。

  26. 过来学习了。。。

  27. Sarbina Sarbina

    这个实用,收下了, :smile:

  28. 非人的牛 非人的牛

    真的非常好 继续关注

  29. 去试试了,

  30. 用了JQ就方便多了

  31. 学习了.

    1. Tokin Tokin

      很简单,对吧

  32. 哈哈到现在才看到这个的,貌似一直用伪类……

  33. 我居然从百度进来的,在首页第二个位置。

    1. 没有百度我兴许是第一个位置

添加新评论