2016-12-20 4 views
2

Ich kann wirklich nicht verstehen, warum der Überlauf: versteckt den Float-Eigenschaftseffekt gelöscht werden soll.Überlauf: versteckte/float Eigenschaft

Hier sind die Quellen, unter denen ich harte Zeit habe.

<div class="float-frame"> 
    <div class="float-unit">A</div> 
    <div class="float-unit">B</div> 
    <div class="float-unit">C</div> 
    <div class="float-unit">D</div> 
</div> <!--html5 sources--!> 

.float-frame { 
    background: #eee; 
    border: 1px solid #ddd; 
    padding: 10px; 
    overflow:hidden;} 

.float-unit { 
    width: 50px; 
    background: #333; 
    color: #fff; 
    font-size: 18px; 
    font-weight: bold; 
    text-align: center; 
    padding: 15px 0; 
    float: left;  /* css3 sources */ 
    } 

, wie Sie sehen, ist die Existenz von overflow: hidden Eigenschaft macht die Sicht völlig verschieden von dem Fall, mit dem das Objekt nicht existiert.

Ich habe gelernt, dass die Eigenschaft overflow: hidden den Inhalt unsichtbar macht, wenn es die Box überfließt, zu der der Inhalt gehört.

aber warum passiert das? Ich meine den Überlauf: versteckte Eigenschaft macht den float-Effekt gelöscht ..

Ich habe viele Artikel gesucht .. aber ich konnte mich nicht völlig verstanden.

Antwort

0

Es ist, weil overflow: hidden; einen neuen 'Blockkontext' erstellt, siehe this StackOverflow article on a similar issue.

Was ich vorschlage, ist, wenn Sie in der Art und Weise flexibel sind Sie diese Elemente positionieren, versuchen float: left; in .float-unit zu entfernen und hinzufügen display: flex;-.float-frame als der Schwimmer Stil nicht zu Position Blockelemente gemeint ist.

+0

yep danke für deinen Kommentar, aber ich möchte wirklich wissen, warum das passiert .. Ich meine, ich bin Zweifel mit der Rolle des Eigentums Überlauf: versteckt .. ist das eine Art Bug ..? – jwkoo

+0

Ich bin mir nicht sicher, was du meinst. Ich habe ein Jsfiddle erstellt, das in der Regel gut aussieht: https://jsfiddle.net/whhmqssx/ Sieht dieses wie Ihres aus? Ich bin nicht sicher, was meinst du mit "gelöscht"? – actc

+0

ja .. das ist richtig .. ich meine 'gelöscht' ist das Float-Eigenschaft gelöscht. Wie Sie in jsfiddle.net/whhmqssx sehen können, macht die Eigenschaft overflow: hidden die Float-Eigenschaft gelöscht – jwkoo

Verwandte Themen