css - 仅当它没有任何后续兄弟时才作为目标元素

标签 css css-selectors

<分区>

我有以下标记和样式:

[class^="container"] .target:last-of-type {
  color:red;
}
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
</head>
<body>
  <div class="container-1">
    <div class="item">1</div>
    <div class="item">2</div>
    <div class="target">3</div>
    <div class="item">4</div>
    <div class="item">5</div>
  </div>
  <br>
  <div class="container-2">
    <div class="item">1</div>
    <div class="item">2</div>
    <div class="item">3</div>
    <div class="item">4</div>
    <div class="target">5</div>
  </div>
</body>
</html>

我想选择 .target 元素,但前提是它是其容器中的最后一个。

:last-of-type 类在这种情况下有效,我只是不明白为什么。它不应该同时突出显示 .target 元素吗?它们是其父容器中最后的(也是唯一的)元素。或者我误解了 :last-of-type 选择器?

最佳答案

:last-of-type不寻找类,而是,顾名思义,typetag元素的。

这就是为什么它只突出显示第二个容器 div 上的最后一个元素,它在 .target 时应用规则。也变成了 :last-of-type , 即最后一个 div在其容器内。

我已经编辑了你的答案,检查当它是 .item 时它做了什么或 divlast-of-type 之前标记自己选择器。

[class^="container"] .target:last-of-type {
  color:blue;
}
[class^="container"] .item:last-of-type {
  text-decoration: underline;
}

[class^="container"] div:last-of-type {
  text-indent: 20px;
}
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
</head>
<body>
  <div class="container-1">
    <div class="item">1</div>
    <div class="item">2</div>
    <div class="target">3</div>
    <div class="item">4</div>
    <div class="item">5</div>
  </div>
  <br>
  <div class="container-2">
    <div class="item">1</div>
    <div class="item">2</div>
    <div class="item">3</div>
    <div class="item">4</div>
    <div class="target">5</div>
  </div>
</body>
</html>

关于css - 仅当它没有任何后续兄弟时才作为目标元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38957570/

相关文章:

css - HTML 表 : Overflow-x scroll if no of columns are more

css - 如何将特定的 css 类设置为 gtk3 中的小部件? (C)

css - 按文本大小更改选择的宽度

jquery - 如何将 JQuery 定位器添加到 Selenium 远程控制

html - CSS 中 element#id 是必需的吗?

css - 使用选择器的上下文样式 - 元素的第一次出现,第 n 个子元素

css - 这会被称为伪类选择器或相邻选择器吗?

HTML/CSS 模式对话框 : Centering Content of Unknown Size -- Scrolling on Overflow

javascript - jquery滚动垂直/水平

html - 视口(viewport)元标记与媒体查询?