suchen
HeimWeb-FrontendCSS-TutorialATOZ CSS: Unterschied zwischen Translate und Position Relative

ATOZ CSS: Unterschied zwischen Translate und Position Relative

Key Takeaways

  • Der Hauptunterschied zwischen CSS -Position: Relativ und Transformation: Translate () liegt darin, wie sie das Layout anderer Elemente beeinflussen. Position: Relativ ändert die Position des Elements im Dokumentfluss und wirkt sich möglicherweise andere Elemente aus, während Transformation: Translate () ein Element bewegt, ohne das Layout anderer Elemente zu beeinflussen.
  • CSS -Transformation: Translate () wird aufgrund der Verwendung der GPU -Beschleunigung (Graphics Processing Unit) häufig für Animationen bevorzugt, was zu glatteren Animationen und einer besseren Leistung führt. Es ist auch erwähnenswert, dass sich prozentuale Werte zwischen den beiden Methoden unterschiedlich verhalten, wobei Translat den Prozentsatz der berechneten Breite oder Höhe des Elements übersetzt.
  • Beide CSS -Position: Relativ und Transformation: Translate () können im selben Element verwendet werden. Diese Kombination ermöglicht eine präzise Platzierung eines Elements auf der Seite und eine weitere Änderung dieser Position. Dies macht sie zu einem leistungsstarken Satz von Werkzeugen für die Platzierung der Elemente.

Dieser Artikel ist Teil unserer Atoz CSS -Serie. Hier finden Sie andere Einträge in die Serie. Sie können das vollständige Transkript und Screencast für das entsprechende Video über Translatex hier anzeigen.

Willkommen in unserer Atoz CSS -Serie! In dieser Serie werde ich verschiedene CSS -Werte (und Eigenschaften) untersuchen, die jeweils mit einem anderen Buchstaben des Alphabets beginnen. Wir wissen, dass manchmal Screencasts einfach nicht genug sind. In diesem Artikel haben wir also schnelle Tipps zu den Unterschieden zwischen Translate und Position hinzugefügt.

ATOZ CSS: Unterschied zwischen Translate und Position Relative

x ist für die Übersetzung und Position

Es gibt eine Reihe von CSS -Eigenschaften zum Platzieren von Elementen auf der Seite. Dazu gehören Layout-Eigenschaften mit großem Bild wie Float, Rand und Polsterung sowie feinkörnigere Werkzeuge wie Position und Translate ().

Auf der Oberfläche, Position: Relativ und Transformation: Translate () scheint auf ähnliche Weise zu funktionieren, aber es gibt einige subtile Unterschiede, die wichtig sind, daher wählen wir das richtige Werkzeug für den Job.

Was ist der Unterschied zwischen Übersetzung und Position: Relativ?

In diesem Beitrag werden wir uns mit einer Reihe von Unterschieden zwischen diesen Methoden zur Elementposition befassen. Lassen Sie mich zunächst klarstellen, was diese verschiedenen Eigenschaften tun.

Wenn wir die Position festlegen: Relativ auf einem Element, können wir sie verwenden, um eine Grenze für absolut Positionierungselemente innerhalb zu erstellen. Dies ist wahrscheinlich die häufigere Verwendung der relativen Positionierung, aber es ist nicht die Verwendung, die wir hier diskutieren.

Wenn wir die Position kombinieren: Relativ mit einem der Offseteigenschaften oben, unten, links oder rechts Das Element wird von seinem ursprünglichen Ort im Layout bewegt, während der Raum im Dokument, den es einst besetzt hat, erhalten wird. Das Element wird auf eine neue Ebene verschoben und seine „Ebenenreihenfolge“ oder seine Stapelreihenfolge kann dann mit der Z-Index-Eigenschaft gesteuert werden.

<span><span>.thing</span> {
</span>  <span>position: relative;
</span>  <span>top: 100px;
</span>  <span>left: 50px;
</span><span>}</span>

Im obigen Beispiel wird das Element 100px von oben und 50px von links von seiner ursprünglichen Position entfernt.

Bei der Verwendung von Transformation: Übersetzen (x, y), erhalten wir ein sehr ähnliches visuelles Ergebnis wie die relative Position. Das gleiche Ergebnis wie oben könnte mit dem folgenden Ausschnitt erreicht werden:

<span><span>.thing</span> {
</span>  <span>transform: translate(50px, 100px);
</span><span>}</span>

In diesem Fall übersetzen wir die Koordinaten des Elements um 50px entlang der x-Achse und 100px entlang der y-Achse. Das Endergebnis ist visuell dem Beispiel des vorherigen Positionsbeispiels.

Also, warum haben wir zwei Möglichkeiten, dasselbe zu tun? Nun, es gibt einige Unterschiede zwischen diesen Ansätzen…

Browserunterstützung

Position ist eine CSS2 -Eigenschaft, während Transformation eine CSS3 -Eigenschaft ist. Infolgedessen gibt es Unterschiede in der Browser -Unterstützung, obwohl wirklich die einzigen Browser, die 2D -Transformationen nicht unterstützen, IE8 und unten sind.

Wenn Sie alte Versionen von IE unterstützen müssen, ist Transformation keine Option für Sie.

GPU -Beschleunigung

Die Transformationseigenschaft verwendet nach Möglichkeit Hardware -Beschleunigung

Wenn Sie ein Element als Teil einer Übergangs- oder Keyframe -Animation verschieben möchten, bevorzugen Sie eher die Übersetzung als die Position (dies gilt sowohl für die absolute als auch für die relative Positionierung). Weitere Tiefe, einschließlich einer Erklärung und Leistungsprofilierung, lesen Sie dieses Video von Paul Irish.

prozentuale Werte verhalten sich unterschiedlich

Ein großer Unterschied zwischen diesen beiden Methoden zur Platzierung von Elementen ist, wie sie auf prozentuale Werte reagieren.

Nehmen Sie das folgende Markup und Stile:

<span><span><span><div> class<span>="box position"</span>><span><span></span></span>
</div></span>></span> 
</span><span><span><span><div> class<span>="box transform"</span>><span><span></span></span>
</div></span>></span></span>
Beide Elemente wurden von ihrer linken Kante von 50%verabreicht.
<span><span>.box</span> {
</span>  <span>width: 200px;
</span>  <span>height: 200px;
</span><span>}
</span><span><span>.position</span> {
</span>  <span>position: relative;
</span>  <span>left: 50%;
</span>  <span>background: red;
</span><span>}
</span><span><span>.transform</span> {
</span>  <span>transform: translateX(50%);
</span>  <span>background: blue;
</span><span>}</span>

Die linke Kante der roten Box ist 50% vom Rand seines übergeordneten Containers entfernt.

Die linke Kante der blauen Box liegt 100px vom linken Rand seines übergeordneten Containers entfernt. Diese Entfernung liegt daran, dass 50% von 200px 100px sind.

Bei der Festlegung von Prozentwerten mit Translate wird der Prozentsatz als Prozentsatz der berechneten Elemente mit Breite oder Höhe gemessen.

Siehe den Stift vyyxgj von sitepoint (@sinepoint) auf CodePen.

Position kombinieren und zusammensetzen

Ein letzter Punkt ist, dass wir sie miteinander kombinieren können. Dies ermöglicht es uns, die absolute Positionierung zu kombinieren, um ein Element an einem sehr bestimmten Ort auf der Seite zu platzieren und diese Position dann mit Transformation zu ändern.

Ein Beispiel dafür könnte sein, dass ein positioniertes Element nach oben oder links und rechts animiert wird. Oder wir können die Positionierung mit Translate kombinieren, um eine flexible vertikale Zentrierung zu erreichen.

Während diese beiden Methoden zur Platzierung von Elementen verwendet werden können, um ähnliche Ergebnisse zu erzielen, gibt es einige signifikante Unterschiede und die Kombination der Stärken jedes Ansatzes macht sie zu einem wirklich leistungsstarken Satz von Werkzeugen.

häufig gestellte Fragen (FAQs) zu CSS übersetzen gegen Position

Was ist der Hauptunterschied zwischen CSS übersetzt und Position? Die CSS -Position ändert die Position des Elements im Dokumentfluss, dh sie kann das Layout anderer Elemente beeinflussen. Andererseits ist CSS Translate eine Transformationsfunktion, die ein Element bewegt, ohne das Layout anderer Elemente zu beeinflussen. Es ändert die visuelle Rendering -Position, nicht die tatsächliche Position im Dokumentfluss. Beeinflussung des Layouts anderer Elemente. Es ist auch für Animationen von Vorteil, da es eine bessere Leistung und glattere Animationen fördert. Dies liegt daran, dass Translate die GPU (Grafikverarbeitungseinheit) verwendet, die bei der Rendern von Grafiken und Animationen effizienter ist. Sie können beide CSS -Übersetzer und Position auf demselben Element verwenden. Es ist jedoch wichtig zu verstehen, wie sie zusammenarbeiten. Die Positionseigenschaft wirkt sich zuerst auf die Position des Elements im Dokumentenfluss aus, und dann verschiebt die Übersetzungsfunktion das Element aus dieser Position. CSS Translate wird häufig für Animationen empfohlen, da die GPU verwendet wird, was die Grafik und Animationen effizienter darstellt. Dies führt zu glatteren Animationen und weniger CPU (Central Processing Unit), die die Gesamtleistung einer Webseite verbessern kann. CSS Translate funktioniert mit allen Arten von Positionswerten - statisch, relativ, absolut, fest und klebrig. Die Übersetzungsfunktion verschiebt das Element unabhängig vom Positionswert aus seiner Position.

Welche Einheiten kann ich mit CSS verwenden. Prozentsätze sind relativ zur Größe des Elements selbst, nicht zur Eltern. Dies gibt Ihnen mehr Flexibilität und Kontrolle über die Bewegung des Elements.

Kann ich die Bewegung eines Elements mit CSS -Position animieren? CSS -Position, es wird nicht empfohlen. Dies liegt daran, dass das Ändern der Positionseigenschaft Layoutverschiebungen auslösen kann, was die Leistung negativ beeinflussen kann. Für Animationen ist CSS Translate die bessere Option. Wenn Sie jedoch eine Übersetzungsfunktion auf ein Element anwenden, erzeugt er einen neuen Stapelkontext, der beeinflussen kann, wie der Z-Index angewendet wird. Sie können CSS -Übersetzer verwenden, um ein Element diagonal zu bewegen. Sie können dies tun, indem Sie sowohl die X- als auch die Y -Werte in der Übersetzungsfunktion angeben. Beispielsweise verschiebt sich das Element über Translate (50px, 50px) nach rechts 50 Pixel und 50 Pixel nach unten und erzeugt effektiv eine diagonale Bewegung. 🎜> Nein, CSS Translate hat keinen Einfluss auf den klickbaren Bereich eines Elements. Der klickbare Bereich bleibt an der ursprünglichen Position im Dokumentfluss, auch wenn die visuelle Darstellung des Elements mit Translate verschoben wurde.

Das obige ist der detaillierte Inhalt vonATOZ CSS: Unterschied zwischen Translate und Position Relative. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
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
Entmystifizierende Bildschirmleser: Zugrunde Formen und Best PracticesEntmystifizierende Bildschirmleser: Zugrunde Formen und Best PracticesMar 08, 2025 am 09:45 AM

Dies ist der 3. Beitrag in einer kleinen Serie, die wir in Form von Barrierefreiheit gemacht haben. Wenn Sie den zweiten Beitrag verpasst haben, lesen Sie "Verwalten des Benutzerfokus mit: Fokus-Sichtbar". In

Hinzufügen von Kastenschatten zu WordPress -Blöcken und -ElementenHinzufügen von Kastenschatten zu WordPress -Blöcken und -ElementenMar 09, 2025 pm 12:53 PM

Die CSS-Box-Shadow- und Umrisseigenschaften haben Thema gewonnen. JSON-Unterstützung in WordPress 6.1. Sei ein paar Beispiele für die Funktionsweise in realen Themen und welche Optionen wir diese Stile auf WordPress -Blöcke und Elemente anwenden müssen.

Arbeiten mit GraphQL CachingArbeiten mit GraphQL CachingMar 19, 2025 am 09:36 AM

Wenn Sie kürzlich mit GraphQL gearbeitet oder seine Vor- und Nachteile überprüft haben, haben Sie zweifellos Dinge wie "GraphQL nicht unterstützen Caching" oder gehört

Machen Sie Ihren ersten Seltsamen -Sufle -ÜbergangMachen Sie Ihren ersten Seltsamen -Sufle -ÜbergangMar 15, 2025 am 11:08 AM

Die Sufelte Transition -API bietet eine Möglichkeit, Komponenten zu beleben, wenn sie das Dokument eingeben oder verlassen, einschließlich benutzerdefinierter Svelte -Übergänge.

Edle und coole CSS -Scrollbars: Ein SchaufensterEdle und coole CSS -Scrollbars: Ein SchaufensterMar 10, 2025 am 11:37 AM

In diesem Artikel werden wir in die Welt der Scrollbars eintauchen. Ich weiß, es klingt nicht zu glamourös, aber vertrau mir, eine gut gestaltete Seite geht Hand in Hand

Show, Don ' TellShow, Don ' TellMar 16, 2025 am 11:49 AM

Wie viel Zeit damit, die Inhaltspräsentation für Ihre Websites zu entwerfen? Wenn Sie einen neuen Blog -Beitrag schreiben oder eine neue Seite erstellen, denken Sie darüber nach

Aufbau einer Ethereum -App mit Redwood.js und FaunaAufbau einer Ethereum -App mit Redwood.js und FaunaMar 28, 2025 am 09:18 AM

Mit dem jüngsten Aufstieg von Bitcoins Preis über 20.000 USD und kürzlich von 30.000, dachte ich, es lohnt

Was zum Teufel haben NPM -Befehle?Was zum Teufel haben NPM -Befehle?Mar 15, 2025 am 11:36 AM

NPM-Befehle führen verschiedene Aufgaben für Sie aus, entweder als einmalige oder als kontinuierlich ausgeführter Vorgang für Dinge wie das Starten eines Servers oder das Kompilieren von Code.

See all articles

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ße Werkzeuge

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Leistungsstarke integrierte PHP-Entwicklungsumgebung

SublimeText3 Linux neue Version

SublimeText3 Linux neue Version

SublimeText3 Linux neueste Version

MantisBT

MantisBT

Mantis ist ein einfach zu implementierendes webbasiertes Tool zur Fehlerverfolgung, das die Fehlerverfolgung von Produkten unterstützen soll. Es erfordert PHP, MySQL und einen Webserver. Schauen Sie sich unsere Demo- und Hosting-Services an.

Herunterladen der Mac-Version des Atom-Editors

Herunterladen der Mac-Version des Atom-Editors

Der beliebteste Open-Source-Editor

mPDF

mPDF

mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),