CSS选择器时:目标为空

Rik*_*Vos 8 css css-selectors css3

当:target等于元素的id(简单)或者为空时(不可能?)时,我需要一个css3选择器来定位元素:target.这很难解释,所以让我举一个简单的例子.

div {
  background: blue;
}
div:target, div:no-target {
  background: red;
}
Run Code Online (Sandbox Code Playgroud)

但当然:no-target伪类不存在;).有没有办法解决这个问题而不使用Javascript?提前致谢!

小智 27

叹.我觉得我正在复活一个死的话题,但它需要一个真正的答案.

仅使用CSS就可以做到这一点,只需使用:last-child一般的兄弟组合器,形式如下:target ~ :last-child:

.pages > .page:target ~ .page:last-child,
.pages > .page {
    display: none;
}

/* :last-child works, but .page:last-child will not */
.pages > :last-child,
.pages > .page:target {
    display: block;
}
Run Code Online (Sandbox Code Playgroud)

(实例)

编辑:显然这与之前提到的相关帖子的旧答案非常相似.