简体   繁体   English

为什么第一个孩子/最后一个孩子不能使用blockquote

[英]Why does first-child / last-child not work on blockquote

It might be a stupid question, but why is first-child / lastchild not working on the blockquotes? 这可能是一个愚蠢的问题,但为什么第一个孩子/最后一个孩子没有在块引用上工作?

CSS CSS

p { margin: 0 0 1.6em 0; }
blockquote { margin: 0; padding: 0 25px 1em; background-color: #CCC; border-left: 5px solid #333; }
blockquote:first-child { padding-top: 25px; color: red; }
blockquote:last-child { padding-bottom: 25px; margin-bottom: 1em; color: yellow; }

HTML HTML

<div>
    <p>Integer bibendum erat ipsum, ac sodales nisi suscipit ut. Nullam eu felis quis nisl consectetur vehicula vel vitae justo. Praesent ullamcorper pretium posuere. Aliquam in suscipit nisi. Suspendisse potenti. In sed ligula vitae libero gravida molestie eu in nisl. Etiam ornare ultrices dolor, id consequat orci fringilla non. Nam ultrices mauris rutrum, fringilla ligula nec, aliquet turpis. Proin turpis velit, dictum vel vehicula vitae, scelerisque a sapien.</p>
    <blockquote>Lorem ipsum dolor sit amet</blockquote>
    <blockquote>Lorem ipsum dolor sit amet</blockquote>
    <blockquote>Nunc scelerisque, risus id tempor viverra, ante nibh pulvinar neque, non volutpat ante tellus facilisis justo. Donec eget auctor ante. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec rhoncus lacus eget arcu suscipit vulputate. Sed at aliquet elit, in vestibulum metus. Nulla pharetra nibh quam, a ullamcorper nunc interdum sed. Etiam aliquam purus quis orci tincidunt malesuada. Etiam metus quam, gravida id molestie sit amet, suscipit eget leo.</blockquote>
    <p>Integer bibendum erat ipsum, ac sodales nisi suscipit ut. Nullam eu felis quis nisl consectetur vehicula vel vitae justo. Praesent ullamcorper pretium posuere. Aliquam in suscipit nisi. Suspendisse potenti. In sed ligula vitae libero gravida molestie eu in nisl. Etiam ornare ultrices dolor, id consequat orci fringilla non. Nam ultrices mauris rutrum, fringilla ligula nec, aliquet turpis. Proin turpis velit, dictum vel vehicula vitae, scelerisque a sapien.</p>
    <blockquote>Lorem ipsum dolor sit amet</blockquote>
    <blockquote>Nunc scelerisque, risus id tempor viverra, ante nibh pulvinar neque, non volutpat ante tellus facilisis justo. Donec eget auctor ante. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec rhoncus lacus eget arcu suscipit vulputate. Sed at aliquet elit, in vestibulum metus. Nulla pharetra nibh quam, a ullamcorper nunc interdum sed. Etiam aliquam purus quis orci tincidunt malesuada. Etiam metus quam, gravida id molestie sit amet, suscipit eget leo.</blockquote>
</div>

Update: What I want in this example: 更新:此示例中我想要的内容:

  • blockquote 1: red blockquote 1:红色
  • blockquote 2: default color blockquote 2:默认颜色
  • blockquote 3: yellow blockquote 3:黄色
  • blockquote 4: red blockquote 4:红色
  • blockquote 5: yellow blockquote 5:黄色

JS-Fiddle JS-小提琴

You are looking for :first-of-type / :last-of-type . 您正在寻找:first-of-type / :last-of-type As the name of the pseudo class implies, this will style the first/last of the element type . 正如伪类的名称所暗示的那样,这将设置元素类型的第一个/最后一个。

UPDATED EXAMPLE HERE 这里有更新的例子

blockquote:first-of-type {
    padding-top: 25px;
}
blockquote:last-of-type {
    padding-bottom: 25px;
    margin-bottom: 1em;
}

Because they're not the first child or last child, the first child here is the p element. 因为他们不是第一个孩子或最后一个孩子,所以这里的p一个孩子是p元素。

To target the first blockquote , you may do 要定位第一个blockquote ,您可以这样做

:not(blockquote) + blockquote {

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM