Changing CSS for last
  • 前端 未结 10 1551
    暗喜
    暗喜 2020-11-30 22:30

    I am wondering if there is some way to change a CSS attribute for the last li in a list using CSS. I have looked into using :last-child, but this

    10条回答
    •  Happy的楠姐
      2020-11-30 23:21

      :last-child is really the only way to do it without modifying the HTML - but assuming you can do that, the main option is just to give it a class="last-item", then do:

      li.last-item { /* ... */ }
      

      Obviously, you can automate this in the dynamic page generation language of your choice. Also, there is a lastChild JavaScript property in the W3C DOM.

      Here's an example of doing what you want in Prototype:

      $$("ul").each(function(x) { $(x.lastChild).addClassName("last-item"); });
      

      Or even more simply:

      $$("ul li:last-child").each(function(x) { x.addClassName("last-item"); });
      

      In jQuery, you can write it even more compactly:

      $("ul li:last-child").addClass("last-item");
      

      Also note that this should work without using the actual last-child CSS selector - rather, a JavaScript implementation of it is used - so it should be less buggy and more reliable across browsers.

    提交回复
    热议问题