suchen
HeimWeb-FrontendCSS-TutorialGrafische Demonstration der eingehenden Analyse des CSS-Margin-Border-Overlays_Experience-Austauschs

Grenzüberlagerung ist ein ziemlich einfaches Konzept. Allerdings kann es bei der Gestaltung von Webseiten in der Praxis zu großer Verwirrung führen. Einfach ausgedrückt: Wenn zwei vertikale Grenzen aufeinandertreffen, bilden sie eine Grenze. Die Höhe dieser Grenze ist gleich der größeren der Höhen der beiden übereinanderliegenden Grenzen.

Wenn ein Element über einem anderen Element erscheint, überlappt der untere Rand des ersten Elements mit dem oberen Rand des zweiten Elements, wie im Bild gezeigt:


Der obere Rand des Elements überlappt den unteren Rand des vorhergehenden Elements


Wenn ein Element in einem anderen Element enthalten ist (vorausgesetzt, es gibt keinen Abstand oder Rand, der die Elemente trennt). Grenzen offen), ihre oberen und/oder unteren Grenzen werden ebenfalls überlagert, siehe Bild:


Der obere Rand eines Elements überlappt den oberen Rand seines übergeordneten Elements


Auch wenn es zunächst etwas seltsam erscheinen mag, kann sich der Rand sogar selbst überlappen. Angenommen, Sie haben ein leeres Element, es hat einen Rand, aber keinen Rand oder Abstand. In diesem Fall berühren sich die obere Grenze und die untere Grenze und überlappen sich, wie im Bild gezeigt:


Der obere und untere Rand des Elements überlappen sich


Wenn dieser Rand den Rand eines anderen Elements berührt, überlappt er sich ebenfalls, wie im Bild gezeigt:


Der überlappende Rand eines leeren Elements überlappt den Rand eines anderen leeren Elements


Aus diesem Grund nehmen eine Reihe leerer Absatzelemente nur sehr wenig Platz ein Ränder werden zu einem kleinen Rand zusammengefügt.

Die Randüberlagerung mag auf den ersten Blick etwas seltsam erscheinen, macht aber tatsächlich Sinn. Nehmen Sie zum Beispiel eine typische Textseite, die aus mehreren Absätzen besteht (siehe Abbildung 2-8). Der Abstand über dem ersten Absatz entspricht dem oberen Rand des Absatzes. Ohne Randüberlagerung wäre der Rand zwischen allen nachfolgenden Absätzen die Summe der angrenzenden oberen und unteren Ränder. Das bedeutet, dass der Abstand zwischen den Absätzen doppelt so groß ist wie der obere Rand der Seite. Wenn es zu Randüberlappungen kommt, werden die oberen und unteren Ränder zwischen den Absätzen überlagert, sodass die Abstände überall einheitlich sind


Randüberlagerung sorgt für einen konsistenten Abstand zwischen Elementen


Randüberlagerung tritt nur an den vertikalen Grenzen von Blockfeldern im normalen Dokumentenfluss auf. Die Grenzen zwischen Inline-Boxen, schwebenden Boxen oder absolut positionierten Boxen überlappen sich nicht.

 Das Problem der Randüberlagerung
Die Randüberlagerung ist eine CSS-Funktion, die bei Missverständnis viel Ärger verursachen kann. Bitte beachten Sie das einfache Beispiel für verschachtelte Absätze innerhalb von div-Elementen:
Kopieren Sie den Code Der Code lautet wie folgt:

Dieser Absatz hat einen Rand von 20 Pixel.




div-Box ist auf einen 10-Pixel-Rahmen festgelegt, der Absatz legt einen 20-Pixel-Rahmen fest:



Kopieren Sie den Code Der Code ist wie folgt:
#box{
margin:10px; >background-color:#6699ff;
}


Sie würden natürlich denken, dass der resultierende Stil wie Abbildung 1-1 aussehen würde, mit einem Abstand von 20 Pixeln zwischen dem Absatz und dem Div. und ein 10-Pixel-Rand um die Außenseite des Div.




Abbildung 1-1

Der resultierende Stil sieht jedoch tatsächlich wie Abbildung 1-2 aus.

Abbildung 1-2




Eingehende Analyse der CSS-Randrandüberlagerung

[Strg+A Alle auswählen Hinweis: Wenn Sie externe Js einführen müssen, müssen Sie zum Ausführen eine Aktualisierung durchführen ]

Hier sind zwei Dinge passiert. Bedingung. Zunächst überlappen die oberen und unteren 20-Pixel-Ränder des Absatzes mit dem 10-Pixel-Rand des Divs, um einen einzigen vertikalen 20-Pixel-Rand zu bilden. Zweitens sind diese Ränder nicht vom DIV umgeben, sondern ragen über die Ober- und Unterkante des DIV hinaus. Dieses Verhalten tritt aufgrund der Art und Weise auf, wie Elemente mit untergeordneten Elementen auf Blockebene ihre Höhe berechnen.

Wenn ein Element keinen vertikalen Rand oder Abstand hat, ist seine Höhe der Abstand zwischen der oberen und unteren Randkante seiner enthaltenden untergeordneten Elemente. Daher ragen der obere und der untere Rand des enthaltenden untergeordneten Elements über das Containerelement hinaus. Es gibt jedoch eine einfache Lösung. Durch das Hinzufügen eines vertikalen Rahmens oder einer Auffüllung überlappen sich die Ränder nicht mehr und die Höhe des Elements ist der Abstand zwischen der oberen und unteren Randkante der darin enthaltenen untergeordneten Elemente.

Damit das vorherige Beispiel wie Abbildung 1-1 aussieht, fügen Sie einfach einen Abstand oder einen Rahmen um das Div hinzu:
Code kopieren Der Code lautet wie folgt:

#box{
margin:10px;
padding:1px;/*or border:1px solid color;*/
background -color:#d5d5d5;  
}  
margin:20px;  
background-color:#6699ff;

Ergänzende Lösung:



Code kopieren
Der Code lautet wie folgt: 1. Äußerer Abstand 2. Transparenter Rand border:1px solid transparent
3. Absolute Positionierungsposition:absolute:
5. Innerer DIV Add float:left; display:inline;
6. Der äußere DIV verwendet manchmal zoom:1;
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
Draggin ' und Dropfen ' in ReactDraggin ' und Dropfen ' in ReactApr 17, 2025 am 11:52 AM

Das React -Ökosystem bietet uns viele Bibliotheken, die alle auf die Interaktion von Drag & Drop konzentrieren. Wir haben React-Dnd, React-beautiful-dnd,

Schnelle SoftwareSchnelle SoftwareApr 17, 2025 am 11:49 AM

In letzter Zeit gab es einige wunderbar miteinander verbundene Dinge über schnelle Software.

Verschachtelte Gradienten mit HintergrundclipVerschachtelte Gradienten mit HintergrundclipApr 17, 2025 am 11:47 AM

Ich kann nicht sagen, dass ich das all das oft im Hintergrund-Clip verwende. I ' D Wette It ' wird in der täglichen CSS-Arbeit kaum jemals verwendet. Aber ich wurde in einem Posten von Stefan Judis daran erinnert,

Verwenden von RequestAnimationFrame mit React -HooksVerwenden von RequestAnimationFrame mit React -HooksApr 17, 2025 am 11:46 AM

Die Animation mit RequestAnimationFrame sollte einfach sein, aber wenn Sie die Dokumentation von React nicht gründlich gelesen haben, werden Sie wahrscheinlich auf ein paar Dinge stoßen

Müssen Sie nach oben auf der Seite scrollen?Müssen Sie nach oben auf der Seite scrollen?Apr 17, 2025 am 11:45 AM

Vielleicht ist der einfachste Weg, dies dem Benutzer anzubieten, ein Link, der auf eine ID auf das Element abzielt. Also wie ...

Die beste API (GraphQL) ist eine, die Sie schreiben, die Sie schreibenDie beste API (GraphQL) ist eine, die Sie schreiben, die Sie schreibenApr 17, 2025 am 11:36 AM

Hören Sie, ich bin kein GraphQL -Experte, aber ich arbeite gerne damit. Die Art und Weise, wie es mir Daten als Front-End-Entwickler vorstellt, ist ziemlich cool. Es ist wie ein Menü von

Wöchentliche Plattform News: Textabstand Lesezeichen, Top-Level-Erwartung, neuer Verstärker-LadeindikatorWöchentliche Plattform News: Textabstand Lesezeichen, Top-Level-Erwartung, neuer Verstärker-LadeindikatorApr 17, 2025 am 11:26 AM

In der Roundup in dieser Woche, einem praktischen Lesezeichen für die Inspektion von Typografie, unter Verwendung dessen, wie sich JavaScript -Module gegenseitig importieren, sowie Facebook ' s.

Verschiedene Methoden zur Erweiterung einer Schachtel und gleichzeitig den GrenzradiusVerschiedene Methoden zur Erweiterung einer Schachtel und gleichzeitig den GrenzradiusApr 17, 2025 am 11:19 AM

I ' Ich habe kürzlich eine interessante Änderung auf Codepen bemerkt: Als es ein Rechteck mit abgerundeten Ecken auf der Homepage schwebt, expandieren Sie sich im Rücken.

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ßer Artikel

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

Heiße Werkzeuge

PHPStorm Mac-Version

PHPStorm Mac-Version

Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

EditPlus chinesische Crack-Version

EditPlus chinesische Crack-Version

Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

SublimeText3 Englische Version

SublimeText3 Englische Version

Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!

SAP NetWeaver Server-Adapter für Eclipse

SAP NetWeaver Server-Adapter für Eclipse

Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.