weniger Mixin oder Selektor, um die Position basierend auf dem Geschwisterindex zu ändern?

8

Ich versuche, die Position von mehreren Geschwister divs basierend auf dem Geschwister anzupassen. Momentan sind sie alle position: absolute , aber das ist nicht in Stein gemeißelt.

Sie sind jeweils ein paar hundert Pixel groß, aber ich möchte, dass sie sich überlappen, so dass die dahinter liegenden nur um ein paar Pixel über die vorderen hinausschauen. Der einfachste Weg, um dies zu tun, wäre ein Less-Mix für nth-of-type , der statt nur die Regeln auf den übereinstimmenden Index anwendet, stattdessen den Index in das Mixin übergibt. Grundsätzlich möchte ich das:

%Vor%

Bearbeiten: was ich gerade mache:

%Vor%

Offensichtlich ist das nicht optimal. Gibt es einen besseren Weg, dies in Less zu tun?

Alternativ gibt es ein CSS-Feld für etwas wie 'layout-height' , das dem div im Layout eine bestimmte Höhe (nicht seine volle Höhe) geben würde?

    
Will Whitney 25.11.2012, 20:07
quelle

2 Antworten

10

Vorausgesetzt, Sie kennen die Anzahl der Elemente im Voraus (oder berechnen Ihre CSS im laufenden Betrieb irgendwie neu), dann funktioniert im Wesentlichen, was Sie haben, wenn in eine Schleifenstruktur einfügen , die ich ursprünglich entdeckt habe hier auf Stack-Überlauf .

WENIGER Code

%Vor%

Ausgaben

%Vor%     
ScottS 25.11.2012, 20:50
quelle
0

Ich sehe keinen Weg, dass dies möglich ist. Wäre ziemlich cool, aber ich denke, dafür ist Javascript da.

%Vor%

Hier ist die vollständige js-Lösung: Ссылка

Hier kannst du mit der LESS Geige spielen, wenn du willst. Ссылка

    
Eric Kim 25.11.2012 21:10
quelle

Tags und Links