我需要一个 css3 选择器来定位一个元素,当 :target 等于元素的 id(简单)或当 :target 为空(不可能?).很难解释,我举个简单的例子.
I need a css3 selector to target an element when the :target equals the id of the element (easy) or when the :target is empty (impossible?). It’s hard to explain, so let me give you a simple example.
div {
background: blue;
}
div:target, div:no-target {
background: red;
}
当然 :no-target 伪类不存在 ;).不使用 Javascript 有没有办法解决这个问题?提前致谢!
But of course the :no-target pseudo class doesn’t exist ;). Is there a way around this without using Javascript? Thanks in advance!
叹息.我觉得我正在复活一个死去的话题,但它需要一个真正的答案.
Sigh. I feel like I'm resurrecting a dead topic, but it needs a real answer.
仅使用 CSS 就可以做到这一点,只需使用 :last-child 和 一般兄弟组合子,形式为 :target ~ :last-child:
It's possible to do this with CSS alone, just by using :last-child and a general sibling combinator, in the form of :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;
}
这些规则适用于以下步骤:
The rules applies in the following steps:
.page:target ~ .page:last-child)(现场示例)
显然,这与 旧版本中接受的答案非常相似,前面提到的相关帖子.
这篇关于:target 为空时的 CSS 选择器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!
CSS 直接后代 (>) 在选择性方面没有任何价值Does the CSS direct decendant (gt;) not have any value in selectivity?(CSS 直接后代 (gt;) 在选择性方面没有任何价值吗?)
使用 querySelectorAll().方法返回的结果是否有序?Using querySelectorAll(). Is the result returned by the method ordered?(使用 querySelectorAll().方法返回的结果是否有序?)
Safari 错误:当使用 JS 删除项目时,first-child 不更Safari bug :first-child doesn#39;t update display:block when items are removed with JS(Safari 错误:当使用 JS 删除项目时,first-child 不更新
nth-子 CSS 选择器nth-Child CSS selectors(nth-子 CSS 选择器)
对多个 HTML 标签使用相同的 ID?Using same ID for multiple HTML tags?(对多个 HTML 标签使用相同的 ID?)
CSS:仅当存在较晚的兄弟时才选择元素CSS: Select element only if a later sibling exists(CSS:仅当存在较晚的兄弟时才选择元素)