Riddle napisał(a):
Więc taka ifologia, może i wydaje się niehaxiorska i amatorska, to dla mnie jest prosta, czytelna, łatwa do zmiany - właśnie dlatego że jest taka prymitywna. Nie muszę sobie łechtać ego próbując niepotrzebnie skomplikować ten kod.
A może by po prostu przenieść poziom wcięcia do atrybutu:
<div class="indent" indent-level=4>...</div>
I łapać w CSS-ach tak:
.indent[indent-level=4] {
margin-left: 16px * 4;
}
Albo nawet użyć zmiennych CSS:
<div class="indent" style="--indent-level: 4">...</div>
I obsłużyć wszystkie poziomy w jednym miejscu:
.indent {
margin-left: calc(16px * var(--indent-level));
}