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
1. Installieren Sie Howdy: Howdy-Projektadresse s...
Das sogenannte Verbindungslimit in Nginx ist tats...
Die Zeit vergeht wie im Flug und in nur sechs Tag...
Vorwort: Der Linux-Host ist relativ einfach zu ha...
Inhaltsverzeichnis 1. Frontend-Steuerung 1. In de...
1. Transaktionen haben ACID-Eigenschaften Atomari...
Inhaltsverzeichnis Vorne geschrieben Anmeldeübers...
Der heutige schriftliche Campus-Rekrutierungstest...
Zusammenfassung In diesem Artikel werden die folg...
Mac verwendet Shell (Terminal) SSH, um eine Verbi...
Im Projekt werden häufig Formulartests durchgefüh...
Inhaltsverzeichnis Vorwort 1. Verstehen mit Beisp...
In diesem Artikel wird der Datenanzeigecode für d...
Ich weiß nicht, wann es angefangen hat, aber jede...
1. Root-Passwort festlegen und ändern Überprüfen ...