Ich habe eine sehr starre HTML-Struktur, die eine Galerie von Bildern anzeigt. Bilder sind alphabetisch gruppiert.Kann ich CSS verwenden, um diese HTML-Struktur zu ändern?
Demo: http://codepen.io/sol_b/pen/aBpbxz
HTML für jedes Panel:
<div class="item">
<h2>A</h2>
<div class="image">
<img src="image.jpg">
</div>
</div>
Was ich möchte, getrennt zu tun ist, die jeweils alphabetisch Gruppe.
So: http://codepen.io/sol_b/pen/LbxVRr
Leider kann ich die HTML nicht ändern, nur CSS (oder JavaScript, wenn dies erforderlich ist).
Ich habe versucht Positionierung, Schwimmer, Breiten. Was es schwieriger macht, ist, dass jedes Element eine Überschrift erhält, egal ob es Inhalt anzeigt oder nicht.
Ist das mit CSS überhaupt möglich?
Eine Sache, die ich in Betracht zog, war das Hinzufügen eines <br>
Tags vor jeder Überschrift, die Inhalt hat. Beispiel:
var breakTag = document.createElement('br');
var element = document.getElementsByTagName('h2');
if(element.innerHTML == ""){
element.insertBefore(breakTag);
}
Jedoch habe ich vor dem Punkt zum Ziel benötigen würde, und nicht vor dem h2
, die ich bin nicht sicher, wie das zu tun.
Jede Hilfe sehr geschätzt.
Verwenden Sie Javascript und Sie werden die HTML-Regeln – sglessard
Sie können jquery '.appendTo' und ähnliches verwenden, um Elemente über zu bewegen. Pass auf, wenn sie Events haben. –
@ freedomn-m - Also könnte ich eine Klasse an jede h2 mit Inhalt vielleicht anhängen? Ich möchte eine Klasse an den Gegenstand um den h2 mit Inhalt anhängen. Ist es möglich, das gezielt anzugehen? Ich kann nicht sehen, wie es nicht nur alle Einzelteile anvisiert ... – sol