Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css 最后一个孩子_Css_Css Specificity_Css Selectors - Fatal编程技术网

Css 最后一个孩子

Css 最后一个孩子,css,css-specificity,css-selectors,Css,Css Specificity,Css Selectors,我想使用以下内容来针对我的div中最后一个ul的最后一个链接(a)。因此,我想到的是: #menu ul:last-child li a { /*.....*/ } 我不能手动向该元素添加类,即使我想动态地添加,我仍然必须以上述方式将该元素作为目标 你知道为什么这不起作用吗?我只是猜测你的HTML是什么,但是: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/

我想使用以下内容来针对我的div中最后一个ul的最后一个链接(a)。因此,我想到的是:

#menu ul:last-child li a {
       /*.....*/
}
我不能手动向该元素添加类,即使我想动态地添加,我仍然必须以上述方式将该元素作为目标


你知道为什么这不起作用吗?

我只是猜测你的HTML是什么,但是:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css" >
    div ul:last-child li:last-child a:last-child {
        background-color: red;
    }
</style>
</head>
<body>
<div>
    <ul><li>First list</li></ul>
    <ul><li>Second list</li></ul>
    <ul>
        <li>Item 1</li>
        <li>
            <a href="#">First Link</a>
            <a href="#">Last Link</a>
        </li>
    </ul>
</div>
</body>
</html>

最后一个孩子李:最后一个孩子a:最后一个孩子{
背景色:红色;
}
  • 第一个列表
    • 第二个列表
      • 项目1
如果您想要最后一个ul中的最后一个链接(假设链接位于
li
-元素中),这就是您想要的:

#menu ul:last-child li:last-child a {
       /*.....*/
}
  • #menu
    返回菜单元素
  • ul:last child
    返回
    #菜单中的最后一个
    ul
  • li:last child
    返回该
    ul

我还没有试过,但我想这会管用。

我已经在safari(4.0.3)和firefox(3.5.4)中测试过你的代码,所有代码都可以正常工作,我不知道在IE8中如何

考虑到这是CSS3标准中定义的一个新的伪类(选择器),并非所有浏览器都完全支持它,而且最旧的浏览器也不支持它

作为一般规则,出于性能原因,我建议您避免使用超过2级的CSS指令(如果确实需要,最多3级)


但是,我认为如果您不想将样式直接应用于标记元素,那么必须找到javascript解决方案

CSS
last child
在IE中不起作用,包括IE8

它应该适用于所有其他当前浏览器,但如果您计划在需要支持IE的网站上使用它,则需要找到一种替代方法

此页面包含CSS选择器的完整列表,以及支持这些选择器的浏览器:

如果您能提供HTML样本,那就太好了。对不起,我本应该有一个,但我只是需要一些想法。。。无论如何,由于某种莫名其妙的原因,我的浏览器似乎都没有响应:lastchild或:first child。我刚刚在jQuery中实现了它:$('#menu ul li a:last').css({});它是有效的……但是关于你的解释,只有一个疑问……不是这样吗#菜单ul选择#菜单中的所有uls;:最后一个子li选择所有菜单uls中的最后一个li;和:last child a选择最后一个li中的最后一个链接?我只是将其用于水平导航,其中最后一个li没有子菜单ul,它选择特定的li…….正是我需要的+1:last child在IE 9及以上中工作:第一个孩子从IE7开始工作。@Dima你是对的。请记住,当这个答案发布时,IE9还没有发布。当然,这个答案是在7年前发布的。这只是一个更新。