Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/32.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
Html 使用CSS以一组元素类型中的最后一个元素为目标_Html_Css_Css Selectors_Pseudo Class - Fatal编程技术网

Html 使用CSS以一组元素类型中的最后一个元素为目标

Html 使用CSS以一组元素类型中的最后一个元素为目标,html,css,css-selectors,pseudo-class,Html,Css,Css Selectors,Pseudo Class,我试过这个 @mixin text-format{ >p, >ul, >h1, >h2, >h3, >h4, >h5{ &:last-of-type{ background-color:green; } } } .text-body{ @include text-format; } 纯CSS .text-body > p:last-of-type, .text-body > ul:last-of-t

我试过这个

@mixin text-format{
>p, >ul, >h1, >h2, >h3, >h4, >h5{
    &:last-of-type{
        background-color:green;
    }
}
}

.text-body{
@include text-format;
}
纯CSS

.text-body > p:last-of-type, .text-body > ul:last-of-type, .text-body > h1:last-of-type, .text-body > h2:last-of-type, .text-body > h3:last-of-type, .text-body > h4:last-of-type, .text-body > h5:last-of-type {
  background-color: green;
}
这将选择每个元素类型的最后一个实例,但该元素类型除外。我只想选择div中的最后一个元素,不管它是什么,而是选择选择器中指定的元素类型

小提琴;

如果需要选择父元素中的最后一个子元素,而不考虑其元素类型,则需要使用简单的
:last child
选择器,如下所示:

& > :last-child{
  background-color:green;
}
上述选择器将选择
文本体中的
最后一个子项
,而不管它是什么类型的元素

在下面的代码片段中,您可以看到如何将
背景色:绿色
应用于两个
文本块的
最后一个子块
。即使第一个块中的
最后一个子块是
p
,第二个块中的是
span

.text body p,
.文本正文{
边缘底部:1米;
}
.text body>:最后一个子项{
背景颜色:绿色;
}

标题

但我必须向你们解释所有这些谴责快乐和赞美痛苦的错误想法是如何产生的,我将给你们一个完整的系统描述,并阐述伟大的真理探索者、人类文明的建设者的实际教导
幸福。没有人拒绝、不喜欢或回避快乐本身,因为快乐本身就是快乐,但因为那些不知道如何理性地追求快乐的人会遇到极其痛苦的后果。

  • 清单项目1
  • 清单项目2
  • 清单项目3
  • 清单项目4
字幕 再也没有人爱自己、追求自己或渴望自己获得痛苦,因为这是痛苦,而是因为偶尔会发生一些情况,在这些情况下,辛劳和痛苦可以使他获得一些巨大的快乐。举一个小例子,我们中的哪一个 进行艰苦的体育锻炼,除了从中获得一些好处?但是,谁有权利对一个选择享受一种没有烦人后果的快乐的人,或者一个选择避免一种不会产生结果的痛苦的人挑剔呢 乐意效劳?

标题 但我必须向你们解释所有这些谴责快乐和赞美痛苦的错误想法是如何产生的,我将给你们一个完整的系统描述,并阐述伟大的真理探索者、人类文明的建设者的实际教导 幸福。没有人拒绝、不喜欢或回避快乐本身,因为快乐本身就是快乐,但因为那些不知道如何理性地追求快乐的人会遇到极其痛苦的后果。

  • 清单项目1
  • 清单项目2
  • 清单项目3
  • 清单项目4
字幕 再也没有人爱自己、追求自己或渴望自己获得痛苦,因为这是痛苦,而是因为偶尔会发生一些情况,在这些情况下,辛劳和痛苦可以使他获得一些巨大的快乐。举一个小例子,我们中的哪一个 进行艰苦的体育锻炼,除了从中获得一些好处?但是,谁有权利对一个选择享受一种没有烦人后果的快乐的人,或者一个选择避免一种不会产生结果的痛苦的人挑剔呢 乐意效劳?
听起来您可能在寻找

.text-body > :nth-last-child(1 of p, ul, h1, h2, h3, h4, h5)
来自(最初指定为)。这将潜在匹配的列表限制为仅限于这些元素类型,并在父元素
.text body
中选取它们的最后一个匹配项。举例说明:

<div class="text-body">
  <h1></h1>
  <p></p>
  <ul></ul>
  <h2></h2>
  <p></p>
  <span></span>
</div>
。。。与以下jQuery相比,这是非常令人厌恶的:

$('.text-body').children('p, ul, h1, h2, h3, h4, h5').last().addClass('last');

注意

:nth-last-child(1 of p, ul, h1, h2, h3, h4, h5)
不等于

:last-child:matches(p, ul, h1, h2, h3, h4, h5)

因为后者匹配其父元素的最后一个子元素,当且仅当它是这些元素类型中的任何一种时。换句话说,
:last child:matches(…)
是选择器4,相当于
p,ul。。。{&:最后一个孩子{…}
(哈利回答的第二部分)。

谢谢你,哈利,行得通。现在的问题是,如果在选择器中指定的元素类型之外,在末尾添加其他类型的元素,则规则将停止工作。@bazzlebrush:但我认为这就是您的意思,但在选择器中指定的元素类型内。或者您的意思是要选择
.text div
中的最后一个子元素,而不考虑元素类型吗?我想要的是这个;选择选择器中列出的元素类型之一的最后一个实例。这是可行的,但当您在末尾添加另一个元素时(该元素不是选择器中列出的元素之一),该规则将停止工作。你可以看到这里发生的事情;您的第一个解决方案完成了我想要的90%,所以谢谢。@bazzlebrush:我想不出任何纯CSS选择器。我知道标题中特别提到CSS,但如果你对JS解决方案满意,那么你可以使用类似。听起来他可能想要类似于
:第n个孩子(p、ul、h1、h2、h3、h4、h5中的1个)
的选择器-4。基本上,这意味着在所有这些元素类型中,选择最后一个引用。因此,如果您有类似于
h1+p+ul+h2+p+span的内容,它将只选择最后一个p。
:last-child:matches(p, ul, h1, h2, h3, h4, h5)