Ich habe versucht, Chris Coyier Inline-Block + Text-Rechtschreib Lösung zu implementieren, um div horizontal in einer bestimmten Wrapper-Breite zu verteilen. http://css-tricks.com/equidistant-objects-with-css/DOM Equidistant divs mit Inline-Blöcken und Text-Rechtschreibprüfung funktioniert nicht beim Einfügen durch JS
Dies funktioniert hervorragend, wenn die Elemente sofort in das DOM geladen werden, aber aus irgendeinem Grund fehlschlägt, wenn Elemente über JS programmatisch hinzugefügt werden. Es ist so, als würde der Browser die CSS-Eigenschaften einfach ignorieren.
Werfen Sie einen Blick auf diese Geige für ein sehr einfaches Beispiel: http://jsfiddle.net/xmajox/NUJnZ/ Die ersten zwei Zeilen werden bei HTML-Last hinzugefügt. Klicken Sie auf die Schaltfläche, um in der Laufzeit mehr über JS hinzuzufügen.
Zunächst dachte ich, es könnte irgendwie mit der Verwendung von Pseudo-Element in Verbindung stehen: nachdem ich also eine andere Version mit einem DOM-Knoten ausprobiert habe: http://jsfiddle.net/xmajox/wnPSA/ Leider reagiert es genau so.
Hat jemand eine Idee, warum das passiert? oder besser noch, wie man es reparieren/verhindern kann?
Wow, großer Fang, ich nirgends in der Nähe war. Ist das ein "normales" Verhalten für einen Browser? Ich dachte, es sei egal ... –
@xmajox Nun, ich würde es nicht als Fehler bezeichnen, es ist Standard. Schauen Sie sich [diese] (http://jsfiddle.net/DksVF/) an. Ich bin mir nicht ganz sicher, warum der Whitespace notwendig ist, ich schätze, er fasst ihn nur in ein Element zusammen und denkt, dass es nur eine einzige Sache zu rechtfertigen gibt. – Snuffleupagus
Natürlich! Es hängt mit der Art zusammen, wie die Textausrichtung funktioniert ... der text-align: justify verbreitet die "Wörter" gleichermaßen auf der Grundlage von Leerzeichen: keine Leerzeichen, es ist alles ein Wort für ihn. Danke für die Hilfe! –