2014-04-01 21 views
0

我想选择在纯CSS中具有某种类型的子元素Y的父Z的最后一个元素?选择具有某种类型子元素的父元素的最后一个元素的最佳方式是什么?

如:http://jsfiddle.net/c26rt/6/

我希望能够选择的灰色方块无论数量div.x的我可能会在纯CSS的。

所以给出:

<div class="z"> 
    <div class="x"><div class="y"></div></div> 
    <div class="x"><div class="y"></div></div> 
    <div class="x"><div class="y"></div></div> 
    <div class="x"><div class="y"></div></div> 
    <div class="x"><div class="y"></div></div> 
    <div class="x"><div class="y"></div>selected</div> 
    <div class="x"></div> 
    <div class="x"></div> 
    <div class="x"></div> 
</div> 

我想上面的最后div.y的背景颜色是灰色的。

+0

在CSS中没有父级选择器,所以不可能根据它的内容来选择元素。你必须使用JavaScript来实现这一点。 – MarcinJuraszek

回答

1

由于there is no parent selector,您将无法使用纯CSS做到这一点。即使你给所有具有.y子元素的.x元素添加了一个额外的类名,但仍然无法在这些元素中选择最后一个,因为没有最后一个类选择器。

您必须以编程方式查找包含.y的最后.x,才能添加额外的类名以供您在CSS中进行选择。

+0

即使可以使用4级主题选择器(在链接中描述,**尚未实现**)来匹配您要查找的元素,例如, ':nth-​​last-match(.x!> .y)> .y'中的一个,快速CSS配置文件不允许使用主题选择器或“:nth-​​last-match()”这种方式无论如何,所以即使实施它,你仍然必须依赖JavaScript。 – BoltClock

相关问题