Heim Web-Frontend CSS-Tutorial Technische Artikel im Zusammenhang mit Float im CSS_Experience-Austausch

Technische Artikel im Zusammenhang mit Float im CSS_Experience-Austausch

May 16, 2016 pm 12:07 PM

Das Float-Konzept ist vielleicht das verwirrendste Konzept in CSS. Float wird oft missverstanden und wegen Problemen bei der Lesbarkeit und Benutzerfreundlichkeit kritisiert, die durch das Floaten aller kontextuellen Elemente verursacht werden. Die Hauptursache dieser Probleme liegt jedoch nicht in der Theorie selbst, sondern in der Interpretation der Theorie durch Entwickler und Browser.

Wenn Sie das Floating-Konzept sorgfältig lesen, werden Sie feststellen, dass es nicht so kompliziert ist, wie es scheint. Die meisten Probleme werden durch ältere Versionen des IE verursacht (ich vermute nur). Wenn Sie diese Fehler kennen, können Sie diese Probleme vermeiden.

Versuchen wir, diese Probleme anzugehen und einige frühere Missverständnisse über die Verwendung von Floats auszuräumen. Wir haben Dutzende relevanter Artikel konsultiert und die wichtigsten ausgewählt, die Sie wissen müssen.

Was Sie über Floats wissen sollten
------------------------------------------------ - ------------------------------------------------- - ----------------------

  „Die Praxis, Bilder und Text zu umgeben, lässt sich bis in eine lange Zeit zurückverfolgen. Aus diesem Grund Netscape1. 1. Diese Funktion wurde erstmals in Browsern eingeführt und warum CSS das Float-Attribut verwendet, um sie zu implementieren. Der Begriff „Float“ stammt aus dem mit Netscape 1.1 veröffentlichten Dokument „Additions to HTML 2.0“ und beschreibt ein Element, das zu schweben scheint „Die Positionierung des schwebenden Elements basiert immer noch auf dem normalen Dokumentfluss. Anschließend wird es aus dem Dokumentfluss extrahiert und so weit wie möglich nach links oder rechts verschoben. Um das schwebende Element herum. Wenn ein Element extrahiert wird Im Vergleich zum normalen Dokumentfluss ignorieren andere Elemente, die sich noch im Dokumentfluss befinden, den ursprünglichen Platz. Das Element wird automatisch gedreht, nachdem es verschoben wurde Element kann nach links oder rechts von der aktuellen Zeile verschoben werden. Die Attribute lauten wie folgt: float: left, float: right oder float: none“

„Sie sollten dies für alle schwebenden Elemente festlegen Attribut (es sei denn, es handelt sich um ein Technische Artikel im Zusammenhang mit Float im CSS_Experience-Austausch-Element, das eine implizite Breite hat). Das Ergebnis ist unvorhersehbar. Beispielsweise sollten schwebende Elemente eine definierte Breite haben. Eigenschaften, ob explizit angegeben oder implizit, füllen Containerelemente so horizontal wie möglich aus, als wären sie nicht schwebender Inhalt, sodass kein Platz für andere Inhalte bleibt, und im normalen Dokumentfluss die vertikalen Ränder von schwebenden Elementen überlappen sich nicht. Schließlich können sich schwebende Elemente im normalen Dokumentfluss mit benachbarten Elementen auf Blockebene überlappen , aber das Konzept des Schwebens.) „

„Das erste, was wir bedenken müssen, ist, dass schwebende Elemente nur nach links oder rechts schweben können, es gibt kein Schweben in die Mitte Anfänger machen Fehler. Die grundlegendste Regel ist, dass schwebende Elemente nur nach beiden Seiten schweben können Wenn wir ein anderes Element in die gleiche Richtung schweben lassen, wird es schweben, bis es den Rand des zuvor schwebenden Elements berührt. Wenn wir weitere Elemente schweben lassen, werden sie nacheinander angeordnet, aber bald ist kein Platz mehr vorhanden . Die Zeile kann keine weiteren schwebenden Elemente aufnehmen und das nächste schwebende Element wird in eine andere Zeile umgebrochen und weiterhin angeordnet. "

Enthält Blöcke oder enthält Boxen: „Containerelemente beziehen sich auf Elemente auf Zeilen- oder Blockebene, die andere untergeordnete Elemente enthalten. . . . ”   

   „Bei expliziter Angabe wird die vertikale Position eines schwebenden Elements durch seine ursprüngliche Position im Dokumentfluss bestimmt, wobei der obere Rand am oberen Rand der aktuellen Zeile ausgerichtet ist. Horizontal bewegt es sich jedoch so weit wie möglich in Richtung des Randes des Behälterelements, folgt aber dennoch der Polsterung des Behälterelements. Inline-Elemente derselben Zeile werden um das schwebende Element herum angeordnet. "

"Da schwebende Elemente keinen normalen Dokumentflussraum belegen, nehmen Elemente auf Blockebene, deren Positionen vor und nach dem schwebenden Element nicht explizit angegeben sind, die Position ein, an der sich das schwebende Element befinden sollte, als ob dies der Fall wäre hat nie existiert. Die Breite der Linie nach dem schwebenden Element wird basierend auf dem schwebenden Element kleiner. Die Elemente vor dem schwebenden Element werden neu angeordnet und belegen eine separate Zeile. (Anmerkung: ie und ff verhalten sich in diesem Fall anders)“

„Wenn in der horizontalen Richtung der aktuellen Zeile nicht genügend Platz vorhanden ist, um das schwebende Element aufzunehmen, gehen Sie zur nächsten Zeile, bis dort Platz ist kann das schwebende Element aufnehmen. "

„Kein schwebendes Element darf die obere Grenze des ursprünglichen Dokumentspeicherorts überschreiten. Die Oberseite eines schwebenden Elements muss an der Oberseite der aktuellen Zeile ausgerichtet sein (oder an der Unterkante des vorherigen Elements auf Blockebene, wenn kein aktuelles Zeilenelement vorhanden ist). ”

 „Um die Float-Theorie wirklich zu verstehen, müssen Sie verstehen, was eine Zeilenbox in CSS ist. Um zu erklären, was eine Zeile ist, müssen Sie leider zunächst verstehen, was ein Element auf Zeilenebene ist.Elemente auf Zeilenebene beziehen sich auf Elemente, die nicht auf Blockebene liegen, z. B. ist „Row“ ein virtuelles Rechteck, das alle Elemente auf Zeilenebene enthält, aus denen die Zeile besteht zu diesen Elementen auf Zeilenebene. ”

 „Wenn wir allen Spalten im Div „float: left“ hinzufügen, werden sie eine nach der anderen links angeordnet. Wenn wir unten auf der Seite eine Fußzeile haben möchten, tun wir das nicht. Es ist keine längste Spalte erforderlich, solange Sie einfach „clear: Both“ hinzufügen Browser. Ob die Implementierung konsistent bleibt. Insbesondere wenn das schwebende Element Teil eines komplexeren Layouts ist, wird es noch anfälliger. ”

Floats löschen
------------------------------------- --- ------------------ --- -------

 "Die Elemente nach dem schwebenden Element umgeben automatisch das schwebende Element. Wenn Sie dies nicht möchten, können Sie diesen Elementen das Attribut „clear“ zuweisen. Dieses Attribut hat 4 Einstellungen: klar: links, klar: rechts, klar: beide oder klar: keine“

Es gibt viele Techniken, um schwebende Elemente zu bereinigen, ohne zusätzliche unsemantische Tags einzuführen. Nachfolgend sind 3 gebräuchlichere Methoden aufgeführt: a ) Containerelemente zusammen schweben lassen b) Überlauf verwenden: versteckt für Containerelemente c) CSS-Pseudoklassen verwenden wie: nach

„Das Einfügen eines Bereinigungselements dient zum Erstellen des Containers. Standardpraxis zum korrekten Umschließen aller schwebenden Elemente, Dadurch wird der untere Rand des Containers „gezogen“, um das enthaltene Element einzuschließen. ”

 „Bei Layouts, die auf dem Float-Design basieren, besteht ein häufiges Problem darin, dass der Container des Float-Elements nicht automatisch erweitert wird, um das Float-Element aufzunehmen. Wenn Sie einen Rahmen um alle schwebenden Elemente hinzufügen möchten (z. B. einen Rahmen um ein Containerelement), müssen Sie dem Browser explizit befehlen, den Container zu strecken. Sie können die Überlaufmethode verwenden. ”

Verwenden von:after Stellen Sie sich vor, wir verwenden :after, um einen Punkt einzufügen und seine Eigenschaft {clear: Both;} festzulegen. Das ist alles, was Sie tun müssen, aber niemand wird den Boden des Containers akzeptieren. Es gibt einen leichte Lücke, daher müssen wir auch {height: 0;} und {visibility: versteckt;} festlegen, um eine perfekte Passform zu gewährleisten.

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)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate 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)

Arbeiten mit GraphQL Caching Arbeiten mit GraphQL Caching Mar 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

Aufbau einer Ethereum -App mit Redwood.js und Fauna Aufbau einer Ethereum -App mit Redwood.js und Fauna Mar 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

Erstellen Sie Ihr eigenes Bragdoc mit ELEITY Erstellen Sie Ihr eigenes Bragdoc mit ELEITY Mar 18, 2025 am 11:23 AM

Unabhängig davon, in welcher Phase Sie als Entwickler Sie befinden, haben die Aufgaben, die wir erledigen - ob groß oder klein - einen enormen Einfluss auf unser persönliches und berufliches Wachstum.

Vue 3 Vue 3 Apr 02, 2025 pm 06:32 PM

Es ist aus! Herzlichen Glückwunsch an das Vue -Team, dass es eine massive Anstrengung war und lange kommt. Alle neuen Dokumente auch.

Können Sie gültige CSS -Eigenschaftswerte aus dem Browser erhalten? Können Sie gültige CSS -Eigenschaftswerte aus dem Browser erhalten? Apr 02, 2025 pm 06:17 PM

Ich ließ jemanden mit dieser sehr legitimen Frage einschreiben. Lea hat gerade darüber gebloggt, wie Sie gültige CSS -Eigenschaften selbst aus dem Browser erhalten können. Das ist so.

Ein bisschen auf CI/CD Ein bisschen auf CI/CD Apr 02, 2025 pm 06:21 PM

Ich sage "Website" passt besser als "Mobile App", aber ich mag dieses Rahmen von Max Lynch:

Gestapelte Karten mit klebriger Positionierung und einem Schuss Sass Gestapelte Karten mit klebriger Positionierung und einem Schuss Sass Apr 03, 2025 am 10:30 AM

Neulich habe ich dieses besonders schöne Stück von der Website von Corey Ginnivan entdeckt, auf der eine Sammlung von Karten aufeinander stapelt.

Vergleich von Browsern für reaktionsschnelles Design Vergleich von Browsern für reaktionsschnelles Design Apr 02, 2025 pm 06:25 PM

Es gibt eine Reihe dieser Desktop -Apps, in denen das Ziel Ihre Website gleichzeitig in verschiedenen Dimensionen angezeigt wird. So können Sie zum Beispiel schreiben

See all articles