So zeigen Sie im img-Tag in HTML nur die Bildmitte an (drei Methoden)

So zeigen Sie im img-Tag in HTML nur die Bildmitte an (drei Methoden)

Derzeit gibt es drei Möglichkeiten, die Mitte eines Bildes im img-Tag in HTML anzuzeigen. Ich werde sie hier aufzeichnen.

Die erste Methode: Verwenden Sie CSS clip:rect (oben rechts, unten links). Bei der Verwendung muss position: absolute wie folgt verwendet werden:

<img src="upload/2022/web/77b8b5ca-11d3-4307-9a93-c12df5eb1a35.jpg"
     Stil = "Position: absolut; Clip: Rechteck (0px, 250px, 200px, 50px); Breite: 300px; Höhe: 200px">

Das Festlegen der Breite und Höhe des Bildes entspricht dem proportionalen Skalieren des Bildes auf seine tatsächliche Breite und Höhe und dem anschließenden Festlegen des Zuschneidebereichs des Bildes mithilfe der Rect-Methode.

- Die zweite Methode: Verwenden des Hintergrundattributs von img:

<style type="text/css">
        img {
            background-image: url(upload/2022/web/77b8b5ca-11d3-4307-9a93-c12df5eb1a35.jpg);//Hintergrundbild festlegen background-repeat: no-repeat;//Das Hintergrundbild wird nur einmal angezeigt.
            Hintergrundanhang: scrollen;//
            background-position: -50px 0px;//Legt den Versatz des Hintergrundbildes fest. Diese -50 entsprechen einem gesamten Hintergrund, der 50 nach links versetzt ist, damit die Bildmitte angezeigt werden kannbackground-size: 300px 200px;////Legt die Größe des Hintergrundbildes fest, die der tatsächlichen Breite und Höhe des Bildes entspricht, die proportional skaliert wirdbackground-color: transparent;//
            Breite: 200px;//
            Höhe: 200px;//
        }
    </Stil>

Verwenden Sie den Hintergrund, um die Mittelposition der Bildanzeige zu steuern. Sie müssen den Hintergrund so einstellen, dass er proportional zur tatsächlichen Breite und Höhe des Bildes skaliert wird, und dann die Bewegung des Hintergrunds versetzen, um die Breite und Höhe des Bildes zu steuern. Es ist zu beachten, dass die Quelle des Bildes nicht festgelegt werden kann. Wenn das img-Tag die Quelle nicht festlegt, wird auf dem angezeigten Bild ein grauer Rand angezeigt, und es gibt keine Möglichkeit, ihn zu entfernen. border:0px hat keine Wirkung. Meine vorherige Lösung bestand darin, ein standardmäßig vollständig transparentes Bild in die Quelle einzufügen, wodurch das Problem gelöst wurde.

Die dritte Methode: img in div einbinden und divs overflow: hidden; zur Steuerung verwenden. Dies ist flexibler in der Anwendung.

<div style="Breite: 100px;Höhe: 100px;Überlauf: versteckt">
<img src="upload/2022/web/77b8b5ca-11d3-4307-9a93-c12df5eb1a35.jpg" style="position: relativ" id="img_id">
</div>
<Skript>
    var img = document.getElementById("img_id");
    var image = neues Bild();
    var realWidth = 0; //Die tatsächliche Breite des Bildes speichern var realHeight = 0; //Die tatsächliche Höhe des Bildes speichern //Breite und Höhe des Bildes abrufen image.src = "upload/2022/web/77b8b5ca-11d3-4307-9a93-c12df5eb1a35.jpg";
    //Verarbeitung des erfolgreichen Ladens image.onload = function () {
        realWidth = image.width; //Die tatsächliche Breite des Bildes abrufen realHeight = image.height; //Die tatsächliche Höhe des Bildes abrufen //Lass die Breite und Höhe von img proportional zur tatsächlichen Breite und Höhe des Bildes sein und verschiebe dann, wenn (realWidth > realHeight){
            img.width = (100/realHeight)*realWidth; //Proportionale Skalierungsbreite img.height = 100; //Konsistent mit Div-Höhe img.style.left = '-' + ((100/realHeight)*realWidth-100)/2 + 'px'; //Setze den relativen Positionsversatz des Bildes auf die halbe Breite-Höhe des img-Tags }else if (realWidth < realHeight){
            img.width = 100; // gleiche Höhe wie div img.height = (100/realeBreite)*realeHöhe; // proportionale Skalierungshöhe img.style.top = '-' + ((100/realeBreite)*realeHöhe-100)/2 + 'px'; // setze den relativen Positionsversatz des Bildes auf die halbe Höhe-Breite des img-Tags }else {
            Bildbreite = 100;
            Bildhöhe = 100;
        }
    };
    //Verarbeitung von Bildladefehlern img.onerror = function () {
        img.src = „https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1492076382452&di=04ebd6c4688b2ffbd8ae18e685234704&imgtype=0&src=http%3A%2F%2Fd.hiphotos.baidu.com%2Fzhidao%2Fwh%253D450%252C600%2Fsign%3D0c96dc86da33c895a62b907fe4235fc6%2F0823dd54564e9258d2bb2dff9f82d158ccbf4e17.jpg“;
        Bildbreite = 100;
        Bildhöhe = 100;
    }
</Skript>

Die obigen Kommentare sind sehr klar. Die Hauptsache ist, dass div die Größe steuert und das img-Tag seine eigene Größe entsprechend der Größe von div anpasst. Der Versatz wird durchgeführt, um den mittleren Bildteil anzuzeigen. Persönlich halte ich die dritte Methode für besser.

Oben sind die Methoden (drei Methoden), die ich Ihnen in HTML vorgestellt habe, um nur die Mitte des Bildes im img-Tag anzuzeigen. Ich hoffe, es wird Ihnen helfen. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!

<<:  Implementierungsprinzip und Konfiguration der MySql Master-Slave-Replikation

>>:  So kommunizieren Sie zwischen dem WIN10-System und der internen Container-IP von Docker

Artikel empfehlen

MySQL fängt die SQL-Anweisung der String-Funktion ab

1. left(name,4) fängt die 4 Zeichen auf der linke...

Einführung in häufig verwendete MySQL-Befehle in der Linux-Umgebung

Geben Sie den MySQL-Befehl ein: mysql -u+(Benutze...

Einführung des Code-Prüftools stylelint zum Erfahrungsaustausch

Inhaltsverzeichnis Vorwort Text 1. Installieren S...

CentOS8-Netzwerkkarten-Konfigurationsdatei

1. Einleitung CentOS8-Systemupdate, die neue Vers...

So installieren Sie pyenv unter Linux

Voraussetzungen Git muss installiert werden Insta...

Detailliertes Beispiel zum Erstellen und Löschen von Tabellen in MySQL

Der Befehl zur Tabellenerstellung erfordert: Der...

Designreferenz Schönes und originelles Blog-Design

Alle unten aufgeführten Blogs sind originell und ...

Anweisungen zur Verwendung des HTML-Tags dl dt dd

Grundaufbau: Code kopieren Der Code lautet wie fol...

Detaillierte Erklärung der neuen Funktion ROLE in MySQL 8

Welche Probleme löst MySQL ROLE? Wenn Sie ein DBA...

Beispiele für die Verwendung des ES6-Spread-Operators

Inhaltsverzeichnis Was sind Spread- und Rest-Oper...

Beispiel für den Aufbau eines Redis-Sentinel-Clusters basierend auf Docker

1. Übersicht Redis Cluster ermöglicht hohe Verfüg...