Auf meiner Website möchte ich vom Benutzer hochgeladene Bilder in einem neuen Fenster mit einer bestimmten Größe ( width: 600px
) anzeigen . Das Problem ist, dass die Bilder groß sein können. Wenn sie also größer als diese sind 600px
, möchte ich ihre Größe ändern und das Seitenverhältnis beibehalten.
Ich habe die max-width
CSS-Eigenschaft ausprobiert , aber sie funktioniert nicht: Die Größe des Bildes ändert sich nicht.
Gibt es eine Möglichkeit, dieses Problem zu lösen?
HTML :
<div id="ImageContainerr">
<img src="DisplayImage.do?ad_id=${requestScope.advert.id}" class="Image" />
</div>
CSS :
img.Image { max-width: 100%;}
div#ImageContainer { width: 600px; }
Ich habe auch versucht, das max-width: 600px
für ein Bild festzulegen, aber es funktioniert nicht. Das Bild wird von einem Servlet gestreamt (es wird außerhalb des Webapps-Ordners von Tomcat gespeichert).
html
css
image
image-resizing
user1315305
quelle
quelle
max-width
Sie es nichtmax-height
und es sollte funktionieren. Wenn nicht, geben Sie Ihren Code ein, damit andere Ihnen helfen können, das Problem zu erkennen.id
hier nicht mit dem CSS übereinstimmt. Wie geschrieben (20151201), läuft diese Frage darauf hinaus, dass "CSS-Selektoren, die keinem DOM-Objekt entsprechen, das Erscheinungsbild nicht beeinflussen". ; ^) (Kann nicht herausfinden, ob es besser wäre, die Frage zu bearbeiten, um zu fragen, was der Titel impliziert oder nicht ...)Antworten:
Sie können so schreiben:
img{ width:100%; max-width:600px; }
Überprüfen Sie diese http://jsfiddle.net/ErNeT/
quelle
Ich sehe, dass dies nicht als endgültig beantwortet wurde.
Ich sehe, Sie haben eine maximale Breite von 100% und eine Breite von 600. Drehen Sie diese um.
Ein einfacher Weg ist auch:
<img src="image.png" style="max-width:600px;width:100%">
Ich benutze dies oft, und dann können Sie auch einzelne Bilder steuern und haben es nicht auf allen IMG-Tags. Sie könnten es auch wie unten CSS mögen.
.image600{ width:100%; max-width:600px; } <img src="image.png" class="image600">
quelle
Das Problem ist, dass das img- Tag ein Inline-Element ist und Sie die Breite des Inline-Elements nicht einschränken können.
Um die Breite des img-Tags zuerst einzuschränken, müssen Sie es in ein Inline-Block-Element konvertieren
img.Image{ display: inline-block; }
quelle
Angesichts Ihrer Containerbreite 600px.
Wenn Sie nur größere Bilder wünschen, fügen Sie Folgendes hinzu: CSS:
#ImageContainer img { max-width: 600px; }
Wenn Sie möchten, dass ALLE Bilder den verfügbaren Speicherplatz (600 Pixel) einnehmen:
#ImageContainer img { width: 600px; }
quelle
Versuche dies
div#ImageContainer { width: 600px; } #ImageContainer img{ max-width: 600px}
quelle
Ihr CSS ist fast korrekt. Sie fehlen nur
display: block;
in Bild-CSS. Auch ein Tippfehler in Ihrer ID. Es sollte sein<div id="ImageContainer">
img.Image { max-width: 100%; display: block; } div#ImageContainer { width: 600px; }
<div id="ImageContainer"> <img src="http://placehold.it/1000x600" class="Image"> </div>
quelle