Bir öğe için yalnızca eşleşen öğe belirli bir öğe içeriyorsa (doğrudan alt öğe olarak) uygulanan bir CSS stili tanımlamak mümkün müdür?
Bunun en iyi şekilde bir örnek kullanılarak açıklandığını düşünüyorum.
Not : Hangi alt öğeyi içerdiğine bağlı olarak üst öğeyi biçimlendirmeye çalışıyorum .
<style>
/* note this is invalid syntax. I'm using the non-existing
":containing" pseudo-class to show what I want to achieve. */
div:containing div.a { border: solid 3px red; }
div:containing div.b { border: solid 3px blue; }
</style>
<!-- the following div should have a red border because
if contains a div with class="a" -->
<div>
<div class="a"></div>
</div>
<!-- the following div should have a blue border -->
<div>
<div class="b"></div>
</div>
Not 2 : Javascript kullanarak bunu başarabileceğimi biliyorum, ama bazı bilinmeyen CSS özellikleri kullanarak bunun mümkün olup olmadığını merak ettim.
ol < li:nth-child(n+10) { margin-left: 2rem; } ol < li:nth-child(n+100) { margin-left: 3rem; } ol < li:nth-child(n+1000) { margin-left: 4rem; }
İdeal bir dünyada bu , içerdiği çocuk ol
sayısına bağlı olanın marjını artıracak, li
böylece soldaki marj sadece onun kadar geniş olacaktır olması gerekiyordu.