Angenommen, Sie haben 5-20 innere Kästchen in einer äußeren Box, die eine Breite von 300-500 Pixel hat.Wie div unter der Liste der floating divs einfügen
<outer>
<inner>Number 1</inner>
<inner>Number 2</inner>
<inner>Number 3</inner>
<inner>Number 4</inner>
<inner>Number 5</inner>
<inner>Number 6</inner>
...
</outer>
Je nach Außenbreite, könnten sie so werden angezeigt Ende:
Number 1 Number 2
Number 3 Number 4
Number 5 Number 6
Oder diese:
Number 1 Number 2 Number 3
Number 4 Number 5 Number 6
Wenn Sie nun eine innere Box (zB tippen. # 2), möchten Sie eine neue Box unter dem angeklopften Feld enthüllen:
Number 1 Number 2
+----------------+
| |
| Hello Number 2 |
| |
+----------------+
Number 3 Number 4
Number 5 Number 6
Oder wenn die Breite größer ist, würde es so aussehen:
Number 1 Number 2 Number 3
+--------------------------+
| |
| Hello Number 2 |
| |
+--------------------------+
Number 4 Number 5 Number 6
Meine Frage ist, um leicht in der Lage sein, die neue Box an der richtigen Stelle in Markup einzufügen, was ist der beste Weg, um Legen Sie die inneren Kästen aus?
a) Schweben Sie einfach die inneren Kästen. Gut: Browser behandelt Positionierung. Bad: Wie bestimmen Sie, wo die neue Box eingefügt werden soll, wenn Ihr Code die Positionen der inneren Boxen nicht kennt?
b) Positionieren Sie die Boxen in Spalten und Reihen entsprechend der verfügbaren Breite. Gut: Einfach, die neue Box an der richtigen Stelle einzusetzen. Problem: Erzeugt Herausforderungen mit Reaktionsfähigkeit.
Example: See how album details are revealed in iTunes when clicking an album thumbnail
Kein Problem - die Logik innerhalb des Handlers Klick ändern. Anstatt es zu ändern, ein neues daneben. – fistuks
Ich habe die Fiddle aktualisiert, um Ihnen eine Idee zu geben, wie: [https://jsfiddle.net/ejeqs8m7/3/] (https://jsfiddle.net/ejeqs8m7/3/) – fistuks
Ihr aktuelles Beispiel ist falsch. Der eingefügte Inhalt sollte immer * unterhalb * des angeklickten Elements eingefügt werden und unabhängig davon, wie viele Divs pro Zeile angezeigt werden. – forthrin