我想知道是否有某种方法可以使用CSS更改列表中最后li个的CSS属性.我已经考虑过使用:last-child,但这似乎真的很麻烦,我不能让它为我工作.如有必要,我将使用JavaScript来完成此任务,但我想知道是否有人能用CSS想出解决方案.

推荐答案

:last-child确实是在不修改HTML的情况下执行此操作的唯一方法-但假设您可以做到这一点,主要选项就是给它一个class="last-item",然后执行以下操作:

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

显然,您可以使用自己 Select 的动态页面生成语言来自动实现这一点.此外,W3C DOM中还有一个lastChild 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");

还需要注意的是,这should在不使用实际的last-child CSS Select 器的情况下工作——而是使用了它的JavaScript实现——因此,它应该在不同浏览器中的错误更少,更可靠.

Css相关问答推荐

Css-如何隐藏WP管理菜单上没有css类的第4<;li&>

实现前景渐变到背景的平滑混合

我无法在css中设置填充或边距

CSS动画移动divs upwords

如何将 CSS 样式应用于 Quarto 输出

如何使用rvest中的 node 和类提取网页数据

使用border-radius时填充元素之间的空间

Ant Design:将位置子菜单移动到屏幕顶部

Twitter Bootstrap:进度条居中文本

如何更改下拉列表的宽度?

如何保持包装的弹性项目与前一行元素的宽度相同?

如何使表格中一行的最后一个单元格占据所有剩余宽度

Flexbox 列自底对齐

悬停效果:展开底部边框

如何在 CSS 中绘制一个圆形扇区?

如何仅使用 CSS 制作网格(如方格纸网格)?

我应该如何组织我的 CSS 文件的内容?

更改 FontAwesome 图标的字体粗细?

我可以在 css 中指定 maxlength 吗?

CSS(webkit):在绝对定位元素上用底部覆盖顶部