2016-07-20 10 views
1

Diese fiddle einen Behälter mit mehreren Elementen in der es zeigt:CSS - Überlauf-y Scroll Makes X-Achsen Verborgene

<div class="container"> 
    <div class="element">Element</div> 
    <div class="element">Element</div> 
    <div class="element">Element</div> 
    <div class="element">Element</div> 
</div> 

Jedes Element hat ein weißes Rechteck als Element pseudo darüber erscheint.

Warum sind sie an der X-Achse des Containers abgeschnitten? Warum beeinflusst overflow-y: scroll die x-Achse?

Brevity CSS:

.container { 
    position: absolute; 
    overflow-y: scroll; 
    height: 400px; 
    width: 200px; 
    border: 1px solid green; 

    .element { 
    height: 100px; 
    padding: 10px; 
    position: relative; 
    margin-top: 10px; 

    &::after { 
     content: ''; 
     position: absolute; 
     top: -20px; 
     left: -30px; 
     width: 50px; 
     height: 20px; 
     border: 1px solid black; 
     background: white; 
    } 
    } 
} 

Antwort

1

*** UPDATE ****

ok. Ich habe herausgefunden warum. Hier sind einige Links:

stackoverflow ,
W3

so ziemlich sein, weil, wenn eine der x oder y ist auf etwas anderes als sichtbar ... dann das Gegenteil (auch sichtbar) wird automatisch eingestellt zu auto:

"Berechneter Wert: wie angegeben, außer mit sichtbarem Computing auto wenn einer der Überlauf-x-Überlauf oder y-nicht sichtbar ist"


JSFIDDLE

//left: -30px; 

Ich bin nicht 100% auf, warum Sie aus seinem Schnitt denken. Die Boxen wurden nach links verschoben ... Wenn Sie also fragen, warum die linke Seite der Boxen nicht ihre Grenze zeigt ... deshalb. Diese Geige hat die Linke auskommentiert. Bitte klären Sie, ob ich Ihre Frage falsch verstanden habe.

+0

Die Boxen sind breiter als Sie denken. Wenn Sie das 'overflow-y: scroll' entfernen, sehen Sie es. Sie sind nicht nur klein. –

+0

Das war, was Sie gefragt haben: "Warum sind sie an der X-Achse des Containers abgeschnitten? Warum Überlauf-y: Scroll Auswirkungen auf die X-Achse?" Ich sehe nichts, das die X-Achse neben den Kästen bewegt, die nach links verschoben werden ... Ich benutze Chrom tho, nicht sicher, vielleicht bist du auf einem anderen Browser? – carinlynchin

+0

Ich verwende Chrome. Ich bin mir nicht sicher, ob du die Frage verstanden hast. Mein Punkt in dem ich nur 'overflow-y' (im Gegensatz zu nur' overflow') mache ist, dass ich Boxen abschneiden möchte, wenn ich über die Grenzen von oben/unten gehe. Aus irgendeinem Grund, den ich nicht verstehe, sind sie nicht sichtbar, wenn sie über die linke/rechte Seite gehen. –