2014-01-28 9 views
5

Ich versuche, Text-Align: zu verwenden und anzuzeigen: Inline-Block wie in this post beschrieben, um einige dynamisch erstellte Elemente zu stylen. Nachdem ich meinen Kopf gegen die Wand gestoßen und nach CSS-Konflikten gesucht hatte, wurde mir klar, dass die Ausrichtung nach der Erstellung des Inhalts nicht neu bewertet wurde. Ich frage mich, ob jemand dafür einen Workaround kennt. Gibt es eine Möglichkeit, Stile zu erzwingen, die auf einem dynamisch erstellten Element neu bewertet werden?Text-align: justify arbeitet nicht an dynamisch erstelltem Inhalt

EDIT - HTML:

<div id="container" class="flush"> 

</div> 

<div class="flush"> 
    <div></div> 
    <div></div> 
    <div></div> 
    <div></div> 
    <div></div> 
</div> 

CSS:

.flush{ 
text-align: justify; 
width: 500px; 
height: 250px; 
background: #00f; 
} 

.flush div{ 
display: inline-block; 
width: 101px; 
height: 100px; 
background: #f00; 
} 

JS:

for(var i = 0; i<5; i++){ 
    $('#container').append("<div></div>"); 
} 

Hier ist eine jsfiddle example zu illustrieren. Beachten Sie, dass die hartcodierten Elemente gerechtfertigt sind, während die dynamisch erstellten Elemente dies nicht sind.

+0

wie Sie den Inhalt in den div setzen? da es in css nicht nötig ist, aber in einigen Fällen '$ (". einige "). css ('width', 300);' wird http://api.jquery.com/css/ – jycr753

+0

Inhalt wird von Javascript erstellt. Die meisten CSS-Eigenschaften, die im Stylesheet deklariert sind (Höhe, Breite), werden angewendet. Ich denke, das Problem besteht darin, dass die Stile im übergeordneten Container neu bewertet werden müssen, wenn die untergeordneten Elemente erstellt werden. –

+1

Können Sie Code und jsfiddle.net-Beispiel posten, um das Problem neu zu erstellen? –

Antwort

10

Fügen Sie einfach ein space nach dynamisch div erstellt;)

$('#container').append("<div></div> "); 

phun haben!

bearbeiten

Das ist besser

$('#container').append("<div></div>\n\r"); 

http://jsfiddle.net/ergec/4pswV/

+0

Ah, macht total Sinn. Vielen Dank! –

+0

JA! funktioniert perfekt. Danke – olegmil

Verwandte Themen