Kannst du das tun? Ich lasse Benutzer Bilder in einen Container hochladen, dessen Breite 100% beträgt, aber ich möchte nicht, dass die Bilder größer als ihre ursprüngliche Größe sind. Danke vielmals!
Kannst du das tun? Ich lasse Benutzer Bilder in einen Container hochladen, dessen Breite 100% beträgt, aber ich möchte nicht, dass die Bilder größer als ihre ursprüngliche Größe sind. Danke vielmals!
Antworten:
Stellen Sie nur nicht width
das Bild ein, sondern nur das max-width
.
img {max-width:100%; height:auto}
( height:auto
ist nicht wirklich notwendig, da dies auto
die Standardeinstellung ist, aber ich habe es dort eingefügt, um mich daran zu erinnern, dass das Bild seine natürlichen Proportionen haben soll.)
Dieses Snippet enthält zwei Felder, eines, das kleiner als das Bild ist, und eines, das größer ist. Wie Sie sehen können, wird das Bild in der kleineren Box verkleinert, während das Bild in der größeren Box seine normale Größe hat.
div {border:2px outset green; margin:6px 0}
.box1 {width:100px; height:70px;}
.box2 {width:200px; height:100px;}
img {max-width:100%; height:auto}
<div class="box1">
<img src="https://i.stack.imgur.com/FuQYf.png" alt="" />
</div>
<div class="box2">
<img src="https://i.stack.imgur.com/FuQYf.png" alt="" />
</div>
Sie können die maximale Breite des Bildes in einem Stil-Tag für das Bild selbst festlegen. Stellen Sie dann im Stylesheet den Anzeigetyp auf "Block", die Breite auf den gewünschten Prozentsatz des Containers und die Höhe auf Auto ein. Fügen Sie dann den Rand hinzu: 0px auto, und es sollte perfekt zentriert sein und niemals größer sein als die ursprüngliche Größe.
Wenn es sich um vom Benutzer hochgeladene Bilder handelt und Sie beispielsweise PHP verwenden, ermitteln Sie die Bildbreite mithilfe von getImageSize () und fügen Sie das Style-Tag programmgesteuert zum Bild hinzu.