热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

htmlcssli第二个,html为最后的li更改CSS

html-为最后的更改CSS我想知道是否有一些方法可以使用CSS更改列表中最后一个li的CSS属性。我已经研究过使用:last-child,但这看起来真的很麻烦&#x

html - 为最后的

更改CSS

我想知道是否有一些方法可以使用CSS更改列表中最后一个li的CSS属性。 我已经研究过使用:last-child,但这看起来真的很麻烦,我无法让它为我工作。 如有必要,我将使用Javascript来执行此操作,但我想知道是否有人可以在CSS中考虑解决方案。

10个解决方案

98 votes

last-child实际上是唯一一种不修改HTML的方法 - 但假设你能做到这一点,主要选择就是给它一个class="last-item",然后做:

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

显然,您可以使用您选择的动态页面生成语言自动执行此操作。 此外,W3C DOM中还有一个last-child Javascript属性。

这是一个在Prototype中做你想做的事情的例子:

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

甚至更简单:

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

在jQuery中,您可以更紧凑地编写它:

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

另请注意,这应该可以在不使用实际的last-child CSS选择器的情况下工作 - 而是使用它的Javascript实现 - 因此它应该在整个浏览器中减少错误并且更可靠。

Lucas Jones answered 2019-06-09T20:38:41Z

46 votes

我用纯CSS完成了这个(可能是因为我来自未来 - 比其他人晚了3年:P)

假设我们有一个清单:

然后我们可以轻松地将最后一项的文本设为红色:

ul#nav li:last-child span {

color: Red;

}

pano answered 2019-06-09T20:39:19Z

11 votes

我通常将CSS和Javascript方法结合起来,因此它在所有浏览器中都可以在没有Javascript的情况下运行,但是在IE6 / 7和IE6 / 7中使用Javascript(但不是关闭),因为它们不支持:last-child伪类。

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

li:last-child,li.last-child{ /* ... */ }

answered 2019-06-09T20:39:44Z

9 votes

您可以使用jQuery并以这种方式执行

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

Keith Adler answered 2019-06-09T20:40:08Z

5 votes

IE7 +和其他浏览器的一种替代方法可能是使用:first-child,并反转您的样式。

例如,如果您在每个:first-child上设置保证金:

ul li {

margin-bottom: 1em;

}

ul li:last-child {

margin-bottom: 0;

}

你可以用这个替换它:

ul li {

margin-top: 1em;

}

ul li:first-child {

margin-top: 0;

}

这适用于其他一些情况,如边框。

根据sitepoint,:first-child越野车,但仅限于它将选择一些根元素(doctype或html),并且如果插入其他元素,则可能不会更改样式。

DisgruntledGoat answered 2019-06-09T20:41:00Z

3 votes

我通常通过创建一个htc文件(例如last-child.htc)来做到这一点:

function initializeBehaviours() {

this.lastChild.className += ' last-child';

}

并从我的IE条件css文件中调用它:

ul { behavior: url("/Javascripts/htc/last-child.htc"); }

在我的主要css文件中,我得到了:

ul li:last-child,

ul li.last-child {

/* some code */

}

使用您现有的css标记而不定义任何.last-child类的另一个解决方案(尽管速度较慢)将是Dean Edwards ie7.js库。

vise answered 2019-06-09T20:41:52Z

3 votes

2015答案:CSS last-of-type允许您设置最后一个项目的样式。

ul li:last-of-type { color: red; }

mikemaccana answered 2019-06-09T20:42:17Z

2 votes

:last-child是CSS3并且没有IE支持,而:first-child是CSS2,我相信以下是使用jquery实现它的安全方法

$('li').last().addClass('someClass');

Lawrence answered 2019-06-09T20:42:42Z

2 votes

$('礼')最后()addClass('SomeClass的')。;

如果你有多个

组它只会选择最后一个李。

jaeson answered 2019-06-09T20:43:19Z

0 votes

如果你知道你正在查看列表中有三个li,例如,你可以这样做:

li + li + li { /* Selects third to last li */

}

在IE6中,您可以使用表达式:

li {

color: expression(this.previousSibling ? 'red' : 'green'); /* 'green' if last child */

}

我建议使用专门的类或Javascript(不是IE6表达式),直到:last-child选择器获得更好的支持。

strager answered 2019-06-09T20:44:01Z



推荐阅读
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • javascript  – 概述在Firefox上无法正常工作
    我试图提出一些自定义大纲,以达到一些Web可访问性建议.但我不能用Firefox制作.这就是它在Chrome上的外观:而那个图标实际上是一个锚点.在Firefox上,它只概述了整个 ... [详细]
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
  • 本文详细介绍了MySQL表分区的创建、增加和删除方法,包括查看分区数据量和全库数据量的方法。欢迎大家阅读并给予点评。 ... [详细]
  • Oracle seg,V$TEMPSEG_USAGE与Oracle排序的关系及使用方法
    本文介绍了Oracle seg,V$TEMPSEG_USAGE与Oracle排序之间的关系,V$TEMPSEG_USAGE是V_$SORT_USAGE的同义词,通过查询dba_objects和dba_synonyms视图可以了解到它们的详细信息。同时,还探讨了V$TEMPSEG_USAGE的使用方法。 ... [详细]
  • 本文讨论了在openwrt-17.01版本中,mt7628设备上初始化启动时eth0的mac地址总是随机生成的问题。每次随机生成的eth0的mac地址都会写到/sys/class/net/eth0/address目录下,而openwrt-17.01原版的SDK会根据随机生成的eth0的mac地址再生成eth0.1、eth0.2等,生成后的mac地址会保存在/etc/config/network下。 ... [详细]
  • 本文介绍了如何使用Express App提供静态文件,同时提到了一些不需要使用的文件,如package.json和/.ssh/known_hosts,并解释了为什么app.get('*')无法捕获所有请求以及为什么app.use(express.static(__dirname))可能会提供不需要的文件。 ... [详细]
  • position属性absolute与relative的区别和用法详解
    本文详细解读了CSS中的position属性absolute和relative的区别和用法。通过解释绝对定位和相对定位的含义,以及配合TOP、RIGHT、BOTTOM、LEFT进行定位的方式,说明了它们的特性和能够实现的效果。同时指出了在网页居中时使用Absolute可能会出错的原因,即以浏览器左上角为原始点进行定位,不会随着分辨率的变化而变化位置。最后总结了一些使用这两个属性的技巧。 ... [详细]
  • 本文介绍了前端人员必须知道的三个问题,即前端都做哪些事、前端都需要哪些技术,以及前端的发展阶段。初级阶段包括HTML、CSS、JavaScript和jQuery的基础知识。进阶阶段涵盖了面向对象编程、响应式设计、Ajax、HTML5等新兴技术。高级阶段包括架构基础、模块化开发、预编译和前沿规范等内容。此外,还介绍了一些后端服务,如Node.js。 ... [详细]
  • Ihaveaworkfolderdirectory.我有一个工作文件夹目录。holderDir.glob(*)>holder[ProjectOne, ... [详细]
  • 本文介绍了2015年九月八日的js学习总结及相关知识点,包括参考书《javaScript Dom编程的艺术》、js简史、Dom、DHTML、解释型程序设计和编译型程序设计等内容。同时还提到了最佳实践是将标签放到HTML文档的最后,并且对语句和注释的使用进行了说明。 ... [详细]
author-avatar
mobiledu2502904893
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有