Frage

    

Diese Frage bereits eine Antwort hier:

    
            
  •              Wie margin-Kollabieren deaktivieren?                                      9 Antworten                          
  •     
    

Einstürzen Margen in CSS: http://www.w3.org /TR/CSS21/box.html#collapsing-margins

ich den Zweck der Funktion verstehen , aber ich versuche, das Layout zu tun, und ich kann nicht herausfinden, wie es zu deaktivieren.

Die Art und Weise in der Regel in CSS Tutorials erklärt ist entweder:

  1. Fügen Sie eine Grenze
  2. Fügen Sie eine Polsterung

Alle diese Nebenwirkungen haben, die offensichtlich werden, wenn Sie mit pixelgenaue Layouts mit Hintergrundbildern und feste Polsterungen handelt.

Gibt es eine Möglichkeit des zusammenbrechende, einfach zu deaktivieren, ohne zusätzliche Pixel in das Layout schieben zu müssen? Es macht keinen Sinn für mich, um visuell das Dokument beeinflussen zu müssen Verhalten wie dies zu ändern.

War es hilfreich?

Lösung

gut brauchen Sie etwas dazwischen zu „brechen“ die kollabieren.

mein erster Gedanke war ein div mit display:none zwischen setzen in verwenden, aber das scheint nicht zu funktionieren.

also habe ich versucht:

<div style="overflow: hidden; height: 0px; width: 0px;">.</div>

, die den Job gut zu tun scheint (zumindest in Firefox, Internet Explorer nicht hier installiert hat, es zu testen ...)

<html>
    <body>
        <div style="margin: 100px;">.</div>
        <div style="overflow: hidden; height: 0px; width: 0px;">.</div>
        <div style="margin: 100px;">.</div>
    </body>
</html>

Andere Tipps

Von IE8 könnten Sie tun:

<div class="uncollapse-margins">
    <p>Lorem ipsum dolor sit amet.</p>
</div>
<div class="uncollapse-margins">
    <p>Lorem ipsum dolor sit amet.</p>
</div>

Mit CSS:

.uncollapse-margins:before,
.uncollapse-margins:after
{
    content: "\00a0"; /* No-break space character */
    display: block;
    overflow: hidden;
    height: 0;
}

Mit Flex oder Grid-Layout.

In flex und Gittercontainer, es gibt nicht so etwas wie Marge kollabieren.

Mehr Details in den Spezifikationen:

  

3. Flex-Container: die flex und inline-flex display   Werte

     

Ein flex Container stellt einen neuen Flex-Formatierungskontext für ihr   Inhalt. Dies ist das gleiche wie ein Blockformatierungskontext zur Gründung,   außer dass Flex-Layout anstelle von Blocklayout verwendet. Zum Beispiel,   Schwimmer dringt nicht in die Flex-Container, und die Flex   Behälter Margen nicht mit den Rändern seines Inhalts kollabieren.

     

5.1. Gründung Grid-Container: die grid und inline-grid   Anzeige   Werte

     

Ein Gitter Container stellt einen neuen Netzformatierungskontext für ihr   Inhalt. Dies ist das gleiche wie ein Blockformatierungskontext zur Gründung,   anstelle von Blocklayout verwendet, außer dass Grid-Layout ist: Schwimmer nicht   dringen in das Netz Behälter und die Margen des Gitterbehälter tun   nicht mit den Rändern seines Inhalts kollabieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top