Heim Web-Frontend CSS-Tutorial So zentrieren Sie ein Bild unbekannter Höhe vertikal

So zentrieren Sie ein Bild unbekannter Höhe vertikal

Jun 26, 2018 pm 02:33 PM
图片 Vertikal zentrieren

In diesem Artikel wird hauptsächlich die detaillierte Methode zum Einstellen der vertikalen Zentrierung für Bilder unbekannter Höhe vorgestellt. Achten Sie beim Üben besonders auf die Anzeigesituation im IE-Browser.

Standardbrowser oder Set Der Anzeigemodus des externen Containers #box to display:table-cell verwendet die Methode, ein Paar leerer Tags vor dem img-Tag einzufügen
201585174249665.jpg (500×400)

, aber eigentlich in Der erzielte Effekt ist nicht perfekt. Da die Analyse jedes Browsers unterschiedlich ist, gibt es in jedem Browser eine Abweichung von 1 bis 3 Pixel.
Methode 1:

Diese Methode besteht darin, den Anzeigemodus des externen Containers auf display:table festzulegen, ein Span-Tag außerhalb des img-Tags zu verschachteln und den Span-Anzeigemodus festzulegen zu display:table-cell, sodass Sie die vertikale Ausrichtung problemlos zum Ausrichten ähnlicher Tabellenelemente verwenden können. Dies ist natürlich nur unter Standardbrowsern möglich, IE6/IE7 müssen auch die Positionierung verwenden.
HTML-Code

<p id="box">
<span><img src="images/demo.jpg" alt="" /></span>
</p>
Nach dem Login kopieren

CSS-Code

<style type="text/css">   
#box{   
    width:500px;height:400px;   
    display:table;   
    text-align:center;   
    border:1px solid #d3d3d3;background:#fff;   
}   
#box span{   
    display:table-cell;   
    vertical-align:middle;   
}   
#box img{   
    border:1px solid #ccc;   
}   
</style>   
<!--[if lte IE 7]>   
<style type="text/css">   
#box{   
    position:relative;   
    overflow:hidden;   
}   
#box span{   
    position:absolute;   
    left:50%;top:50%;   
}   
#box img{   
    position:relative;   
    left:-50%;top:-50%;   
}   
</style>   
<![endif]-->
Nach dem Login kopieren

Methode zwei:

Implementierung von Methode zwei und Methode eins Die Die Prinzipien sind ähnlich und die Struktur ist dieselbe. Methode eins verwendet bedingte Kommentare und Methode zwei verwendet CSS-Hack.
CSS-Code

#box{   
    width:500px;height:400px;   
    overflow:hidden;   
    position:relative;   
    display:table-cell;   
    text-align:center;   
    vertical-align:middle;   
    border:1px solid #d3d3d3;background:#fff;   
}   
#box span{   
    position:static;   
    *position:absolute; /*针对IE6/7的Hack*/
    top:50%; /*针对IE6/7的Hack*/
}   
#box img {   
    position:static;   
    *position:relative; /*针对IE6/7的Hack*/
    top:-50%;left:-50%; /*针对IE6/7的Hack*/
    border:1px solid #ccc;   
}
Nach dem Login kopieren

Diese Methode hat einen Nachteil: Da der Anzeigemodus des externen Containers #box display:table-cell ist, kann #box das Randattribut nicht verwenden, und in IE8 Auch das Festlegen des Rahmens unten hat keine Auswirkung.
Methode 3:

Standardbrowser setzen den Anzeigemodus des externen Containers #box immer noch auf display:table-cell, und IE6/IE7 verwendet das img-Tag The Die Methode besteht darin, vorne ein Paar leerer Tags einzufügen.

HTML-Code

<p id="box">
    <i></i><img src="images/demo.jpg" alt="" />
</p>
Nach dem Login kopieren

CSS-Code

<style type="text/css">   
#box{   
width:500px;height:400px;   
display:table-cell;   
text-align:center;   
vertical-align:middle;   
border:1px solid #d3d3d3;background:#fff;   
}   
#box img{   
border:1px solid #ccc;   
}   
</style>   
<!--[if IE]>   
<style type="text/css">   
#box i {   
    display:inline-block;   
    height:100%;   
    vertical-align:middle
    }   
#box img {   
    vertical-align:middle
    }   
</style>   
<![endif]-->
Nach dem Login kopieren

Methode 4:

Ein p-Tag außerhalb des img-Tags einschließen, Standardbrowser verwenden das Pseudoklassenattribut: before des p-Tags, um es zu implementieren, und IE6/IE7 verwendet CSS-Ausdrücke, um Kompatibilität zu erreichen.
HTML-Code

<p id="box">
    <p><img src="images/demo.jpg" alt="" /></p>
</p>
Nach dem Login kopieren

CSS-Code

#box{   
    width:500px;height:400px;   
    text-align:center;   
    border:1px solid #d3d3d3;background:#fff;   
}   
#box p{   
    width:500px;height:400px;   
    line-height:400px; /* 行高等于高度 */
}   
/* 兼容标准浏览器 */
#box p:before{   
    content:"."; /* <a href="http://casinogreece.gr/">????????????</a> 具体的值与垂直居中无关,尽可能的节省字符 */
    margin-left:-5px; font-size:10px; /* 修复居中的小BUG */
    visibility:hidden; /*设置成隐藏元素*/
}   
#box p img{   
    *margin-top:expression((400 - this.height )/2); /* CSS表达式用来兼容IE6/IE7 */
    vertical-align:middle;   
    border:1px solid #ccc;   
}
Nach dem Login kopieren

Verwendung: vor Diese Methode ist für Standardbrowser leistungsfähiger und hat keine Nebenwirkungen, aber für IE6/IE7, falls vorhanden Bei hohen Leistungsanforderungen sollte die CSS-Ausdrucksmethode mit Vorsicht verwendet werden.
Methode 5:

Stellen Sie die Schriftgröße des äußeren Containers des Bildes auf das 0,873-fache der Höhe ein, um eine Zentrierung zu erreichen Browser verwenden immer noch die obige Methode, um Kompatibilität zu erreichen, und die Struktur ist eleganter.
HTML-Code

<p id="box">
    <img src="images/demo.jpg" alt="" />
</p>
Nach dem Login kopieren

CSS-Code

#box{   
    width:500px;height:400px;   
    text-align:center;   
    border:1px solid #d3d3d3;background:#fff;   
    /* 兼容标准浏览器 */
    display: table-cell;   
 vertical-align:middle;   
    /* 兼容IE6/IE7 */
    *display:block;   
    *font-size:349px; /* 字体大小约为容器高度的0.873倍 400*0.873 = 349 */
    *font-family:Arial; /* 防止非utf-8引起的hack失效问题,如gbk编码 */
}   
#box img{   
    vertical-align:middle;   
}
Nach dem Login kopieren

Die Methode zum Festlegen der Schriftgröße fühlt sich seltsam an und ich habe keine vernünftige Erklärung gesehen, ich weiß nur, dass das Bild Die Eigenschaften anderer Elemente unterscheiden sich etwas, aber für IE6/IE7 ist diese Methode recht leistungsfähig.
Denken: Viele Methoden basieren auf der Einstellung des Anzeigemodus des externen Containers auf Tabelle, um eine vertikale Zentrierung zu erreichen, d. h. p, um eine Tabelle zu simulieren. Es wäre großartig, wenn CSS ein Attribut hätte, um diesen Effekt zu erzielen.

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.

Verwandte Empfehlungen:

So verwenden Sie negative Randwerte in CSS, um die Mittelposition anzupassen

Anleitung Verwenden Sie das position:fixed-Attribut. Zentrieren Sie das DIV

Das obige ist der detaillierte Inhalt vonSo zentrieren Sie ein Bild unbekannter Höhe vertikal. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie kann das Problem des automatischen Speicherns von Bildern beim Veröffentlichen auf Xiaohongshu gelöst werden? Wo ist das beim Posten automatisch gespeicherte Bild? Wie kann das Problem des automatischen Speicherns von Bildern beim Veröffentlichen auf Xiaohongshu gelöst werden? Wo ist das beim Posten automatisch gespeicherte Bild? Mar 22, 2024 am 08:06 AM

Durch die kontinuierliche Entwicklung der sozialen Medien ist Xiaohongshu zu einer Plattform für immer mehr junge Menschen geworden, auf der sie ihr Leben teilen und schöne Dinge entdecken können. Viele Benutzer haben beim Posten von Bildern Probleme mit der automatischen Speicherung. Wie kann man dieses Problem lösen? 1. Wie kann das Problem des automatischen Speicherns von Bildern beim Veröffentlichen auf Xiaohongshu gelöst werden? 1. Cache leeren Zuerst können wir versuchen, die Cache-Daten von Xiaohongshu zu löschen. Die Schritte sind wie folgt: (1) Öffnen Sie Xiaohongshu und klicken Sie auf die Schaltfläche „Mein“ in der unteren rechten Ecke. (2) Suchen Sie auf der persönlichen Center-Seite nach „Einstellungen“ und klicken Sie darauf. (3) Scrollen Sie nach unten und suchen Sie nach „; Option „Cache löschen“. Klicken Sie auf „OK“. Nachdem Sie den Cache geleert haben, geben Sie Xiaohongshu erneut ein und versuchen Sie, Bilder zu posten, um zu sehen, ob das Problem mit dem automatischen Speichern behoben ist. 2. Aktualisieren Sie die Xiaohongshu-Version, um sicherzustellen, dass Ihr Xiaohongshu

So zentrieren Sie Bilder in HTML-Webseiten So zentrieren Sie Bilder in HTML-Webseiten Apr 05, 2024 pm 12:18 PM

In HTML gibt es zwei Möglichkeiten, ein Bild zentriert auszurichten: Verwenden Sie CSS: margin: 0 auto, um das Bild horizontal zu zentrieren, und display: block, damit es die gesamte Breite einnimmt. Verwenden Sie das HTML: <center>-Element, um das Bild horizontal zu zentrieren, aber es ist weniger flexibel und entspricht nicht den neuesten Webstandards.

Wie poste ich Bilder in TikTok-Kommentaren? Wo ist der Zugang zu den Bildern im Kommentarbereich? Wie poste ich Bilder in TikTok-Kommentaren? Wo ist der Zugang zu den Bildern im Kommentarbereich? Mar 21, 2024 pm 09:12 PM

Mit der Beliebtheit von Douyin-Kurzvideos sind die Benutzerinteraktionen im Kommentarbereich bunter geworden. Einige Benutzer möchten Bilder in Kommentaren teilen, um ihre Meinung oder Gefühle besser auszudrücken. Wie postet man also Bilder in TikTok-Kommentaren? Dieser Artikel beantwortet diese Frage ausführlich und gibt Ihnen einige entsprechende Tipps und Vorsichtsmaßnahmen. 1. Wie poste ich Bilder in Douyin-Kommentaren? 1. Öffnen Sie Douyin: Zuerst müssen Sie die Douyin-App öffnen und sich bei Ihrem Konto anmelden. 2. Suchen Sie den Kommentarbereich: Suchen Sie beim Durchsuchen oder Posten eines kurzen Videos die Stelle, an der Sie einen Kommentar abgeben möchten, und klicken Sie auf die Schaltfläche „Kommentieren“. 3. Geben Sie Ihren Kommentarinhalt ein: Geben Sie Ihren Kommentarinhalt in den Kommentarbereich ein. 4. Wählen Sie, ob Sie ein Bild senden möchten: In der Benutzeroberfläche zur Eingabe von Kommentarinhalten sehen Sie eine Schaltfläche „Bild“ oder eine Schaltfläche „+“. Klicken Sie darauf

So passen Sie die Textposition in Dreamweaver an So passen Sie die Textposition in Dreamweaver an Apr 09, 2024 am 02:24 AM

Das Anpassen der Textposition in Dreamweaver kann durch die folgenden Schritte durchgeführt werden: Wählen Sie den Text aus und nehmen Sie mit dem Textpositionsregler horizontale Anpassungen vor: linke Ausrichtung, rechte Ausrichtung, mittlere Ausrichtung. 2. Nehmen Sie vertikale Anpassungen vor: obere Ausrichtung, untere Ausrichtung, vertikal 3. Drücken Sie die Umschalttaste und verwenden Sie die Pfeiltasten, um die Position zu verfeinern. 4. Verwenden Sie die Tastenkombinationen zur schnellen Ausrichtung: linke Ausrichtung (Strg/Befehl + L), rechte Ausrichtung (Strg/Befehl + R), zentrierte Ausrichtung (Strg/Befehlstaste + C).

So lassen Sie PPT-Bilder einzeln erscheinen So lassen Sie PPT-Bilder einzeln erscheinen Mar 25, 2024 pm 04:00 PM

In PowerPoint ist es eine gängige Technik, Bilder einzeln anzuzeigen, was durch das Festlegen von Animationseffekten erreicht werden kann. In dieser Anleitung werden die Schritte zur Implementierung dieser Technik detailliert beschrieben, einschließlich der grundlegenden Einrichtung, des Einfügens von Bildern, des Hinzufügens von Animationen sowie des Anpassens der Reihenfolge und des Timings der Animationen. Darüber hinaus stehen erweiterte Einstellungen und Anpassungen zur Verfügung, z. B. die Verwendung von Triggern, das Anpassen von Animationsgeschwindigkeit und -reihenfolge sowie die Vorschau von Animationseffekten. Durch Befolgen dieser Schritte und Tipps können Benutzer ganz einfach Bilder so einrichten, dass sie in PowerPoint nacheinander angezeigt werden, wodurch die visuelle Wirkung der Präsentation verbessert und die Aufmerksamkeit des Publikums erregt wird.

So zentrieren Sie das Textfeld in HTML So zentrieren Sie das Textfeld in HTML Apr 22, 2024 am 10:33 AM

Es gibt viele Möglichkeiten, das HTML-Textfeld zu zentrieren: Texteingabefeld: Verwenden Sie den CSS-Code input[type="text"] { text-align: center } text area: verwenden Sie den CSS-Code textarea { text-align: center; } Horizontale Zentrierung: Verwenden Sie den Text-Align: Center-Stil für das übergeordnete Element des Textfelds, um es vertikal zu zentrieren: Verwenden Sie das Vertical-Align-Attribut input[type="text"] { Vertical-Align: Middle }Flexbox: Verwenden Sie Display:

So zentrieren Sie UL-Inhalte in CSS So zentrieren Sie UL-Inhalte in CSS Apr 26, 2024 pm 12:24 PM

Zentrieren Sie UL-Inhalte in CSS: Verwenden Sie die text-align-Eigenschaft: Legen Sie die Ausrichtung von Text fest, einschließlich des Inhalts von Listenelementen. Verwenden Sie das Margin-Attribut: Legen Sie den linken und rechten Rand des Elements fest und verwenden Sie margin: auto, um eine horizontale Zentrierung zu erreichen. Verwenden Sie das Anzeigeattribut: Setzen Sie das Element auf inline-block und zentrieren Sie es dann vertikal mit text-align: center. Verwenden Sie Flexbox-Eigenschaften: Horizontale und vertikale Zentrierung durch justify-content: center und align-items: center.

So zentrieren Sie den Frame in HTML So zentrieren Sie den Frame in HTML Apr 22, 2024 am 10:45 AM

Es gibt vier Möglichkeiten, den HTML-Rahmen zu zentrieren: margin: 0 auto;: Zentriert den Rahmen horizontal. text-align: center;: Zentriert den Rahmeninhalt horizontal. display: flex; align-items: center;: Zentrieren Sie den Rahmen vertikal. Position: absolut; oben: 50 %; transform: Translate(-50 %, -50 %);: Verwendet CSS-Transformationen, um den Rahmen in der Mitte des Containers mit fester Größe zu positionieren.

See all articles