Wie kann ich ein Bild ohne Dehnung skalieren?

8

Ich möchte ein <img> , dessen Breite 40% der Seite beträgt, und es wird gestreckt.

Wie kann ich die Größe ändern ohne zu strecken?

Zum Beispiel, wenn ich ein Bild habe, dessen Datei ursprünglich so aussieht:

%Vor%

Normalerweise sollte es auf meiner Webseite so aussehen:

%Vor%

Sobald ich den Browser etwas enger mache, wird max-width (sagen wir 10 Zeichen in diesem Beispiel) wirksam.
Wenn das passiert, möchte ich es sein:

%Vor%

(genau wie es von der rechten Seite geschnitten wurde. Natürlich von beiden Seiten sind besser),
Anstatt:

%Vor%
  • Jeder Trick (in den Hintergrund von <div> zu bringen) ist in Ordnung.
  • Breite und Höhe sind unbekannt.
  • Ich danke Ihnen allen für Ihre früheren Antworten, aber leider habe ich nicht genug Wert auf " Nach Begrenzung der Breite auf 40% der Seite" gelegt, was bedeutet, dass vor der Breite es zu begrenzen sollte normal aussehen.
tslmy 13.01.2012, 06:27
quelle

5 Antworten

13

Der Trick besteht darin, das Bild in ein umschließendes Blockelement, z. B. ein DIV, zu legen. Sobald Sie die Bildbreite auf 100% eingestellt haben, wird der Browser angewiesen, die Bildbreite mit der linken und rechten Kante des DIVs auszurichten.

Sie steuern dann die Breite des DIV über CSS. Ich finde, dass das Beibehalten des Bildes in einem Blockelement die Manipulation beim Erstellen flüssiger Layouts wesentlich erleichtert.

Beispiel:

%Vor% %Vor%

Wenn Sie möchten, dass das Bild abgeschnitten / beschnitten wird, stellen Sie es so ein, dass es größer als das übergeordnete Bild ist, und legen Sie den Überlauf css des Elternteils auf versteckt fest.

Beispiel:

%Vor% %Vor%

Hoffe, das hilft ...

    
sixtillnine 13.01.2012, 06:42
quelle
2

Hier ein paar Optionen. (Siehe die Demo aller Optionen hier: Ссылка )

Der erste als einfaches Bild unbekannter Größe. Dies wird in welcher Größe auch immer angezeigt.

%Vor%

Aber wie sich herausstellt, können Sie das Seitenverhältnis eines Bildes beibehalten, wenn Sie nur die Breite oder nur die Höhe festlegen. Die andere Dimension wird sich anpassen, damit sich die Dinge nicht ausdehnen.

%Vor%

Wenn Sie jedoch CSS-Hintergrundbilder verwenden, können Sie basierend auf der Verankerung des Hintergrunds einige kreative Schnitte erstellen.

Das sagt "Go"

%Vor%

Und das sagt "gle":

%Vor%     
Alex Wayne 13.01.2012 06:54
quelle
0

Versuchen Sie ImageResizer zu verwenden. Hier ist der Link: Ссылка

    
JudasPriest 04.04.2014 05:33
quelle
0

Fügen Sie diese Klasse dem HTML-Tag img hinzu. Das Bild wird so beibehalten, wie es ist, aber es wird den erforderlichen spezifizierten Platz einnehmen, dh 40% x 40% ohne das Bild zu strecken

%Vor%     
Manoj Selvin 21.09.2017 13:13
quelle
-1

Meinst du das Bild beschneiden? Wenn ja, schauen Sie in die CSS-Überlauf-Eigenschaft. Sie könnten es auch in den Hintergrund stellen und es in div

zentrieren     
Ed Heal 13.01.2012 06:29
quelle

Tags und Links