2016-07-23 12 views
-1

Ich habe vom Benutzer generierten Inhalt, der skaliert werden muss, um in den übergeordneten Container zu passen. Ich habe keine Kontrolle über irgendetwas in der div.Stoppen Sie ein IMG mit einer expliziten Inline-Breite, die größer als das übergeordnete div ist.

.container { 
 
    max-width: 300px !important; 
 
    border: 1px solid black; 
 
}
<div class="container"> 
 
    <p><img style="width: 800px;" src="http://placekitten.com/g/800/200"><br></p> 
 
    
 
    <p> 
 
    Other content 
 
    </p> 
 
    <p> 
 
    CSS IS AWESOME 
 
    </p> 
 
    
 
</div>

Wie halte ich den Inhalt gebunden?

+0

Sie haben nicht einmal die Kontrolle über den HTML-Code innerhalb des Behälters? Wenn die 'width' inline eingestellt ist, wie Sie es in Ihrem Beispiel getan haben, überschreibt sie alle extern angelegten css. – Polyov

+0

Es handelt sich um Benutzerinhalte aus einem Rich-Text-Editor. In diesem Beispiel ist dies der HTML-Code, der für ein eingeblendete Bild generiert wurde. – mgrowan

+0

@Polyov wenn 'width' gesetzt ist, überschreibt es' max-width' nicht, aber wenn 'max-width' inline geändert wird als es überschrieben würde –

Antwort

1

So müssen Sie angeben, für alle Kinder auf jeder Ebene max Höhe von 100% des Eltern-Elements haben :)

.container { 
 
    max-width: 300px; 
 
    border: 1px solid black; 
 
} 
 
.container *{ 
 
    max-width:100%; 
 
}
<div class="container"> 
 
    <p><img style="width: 800px;" src="http://placekitten.com/g/800/200"><br></p> 
 
    
 
    <p> 
 
    Other content 
 
    </p> 
 
    <p> 
 
    CSS IS AWESOME 
 
    </p> 
 
    
 
</div>

Und ich würde Sie bekommen vorschlagen los! wichtig, wenn nichts anderes Element ändert, also würde CSS-Name für Wort Cascading :) gerechtfertigt werden

+0

Fantastisch! Vielen Dank! – mgrowan

0

Ich bin nicht sicher, warum Sie die Bildbreite inline auf eine gesetzte Pixelbreite einstellen, aber dieses stellt sicher, dass das Bild nie übersteigt s die Grenzen es Container ist:

CSS:

img { 
    max-width: 100% !important; 
} 
+0

Ich habe keine Kontrolle über den IMG und es kann kein IMG-Tag sein. Benutzerinhalte aus einem Rich-Text-Editor. – mgrowan

+0

Der Text wird reflow .. ein Bild mit einer festen Breite wird das Container-Div überlaufen, es sei denn, die Größe ist überschrieben. – Toby

Verwandte Themen