我有以下html结构:
<ul>
<li>
<a href="#"> Superlevel 1 </a>
<span class="actions">Somes actions</span>
<ul>
<li>
<a href="#">Level 1 </a>
<span class="actions">Other actions</span>
<ul>
<li>
<a href="#">Sub-Level1</a>
<span class="actions">Sub Level actions</span>
</li>
<li>
<a href="#">Sub-Level1</a>
<span class="actions">Sub Level actions</span>
</li>
</ul>
</li>
</ul>
<li>
</ul>
CSS是这样的:
.treeview li .actions {
float: left;
padding: 0 15px;
visibility: hidden;
}
.treeview li:hover > .actions {
visibility: visible;
}
问题是,当我将鼠标移到最后一个 li(子级别 1)上时,会显示其父级 Level1 和 Superlevel1 的 .actions。我只想显示 sub-level1 .actions。
因此,我尝试通过以下方式替换最后一个 css 块:
.treeview li:hover:last-of-type > .actions {
visibility: visible;
}
但last-of-type
伪选择器应用于 li 而不是li:hover
。
知道如何组合这两个伪选择器吗?