我想在其(嵌套)子项之一上设置父元素的值data-index
。预期结果:字符串“index”应出现在h2.heading
的周围。使用CSS3属性函数的子项中父项的属性值
标记:
<div class="foo" data-index="index">
<div>
<h2 class="heading"><span>title</span></h2>
</div>
</div>
CSS(第data-index
规则作品 - 但不是在正确的地方):
div.foo[data-index] .heading span {
display: none;
}
div.foo[data-index]::after {
content: attr(data-index);
color: green;
}
div.foo[data-index] .heading::after {
content: attr(data-index);
color: red;
border: 1px solid red;
}
http://codepen.io/anon/pen/jyxdoz
的问题是,我不认为你可以从CSS3中元素的父元素中提取'attr(data-index)'。你必须在'div.foo> div'元素中包含'data-index'属性来封装头部,以便在其上放置一个':: after'伪类。 – forrestmid
@forrestmid我怀疑那个;有没有我能做的任何阅读? – montrealist
是的,[MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/attr)对此有定义。具体而言,“attr()CSS函数用于检索**选定元素**的属性值,并在样式表中使用它。”我做了一些研究,但没能找到任何可以用子元素完成的事情。 – forrestmid