2013-08-23 7 views

Antwort

7

Es ist ok eine CSS-Lösung?

Wenn dies der Fall ist, fügen Sie einfach overflow: body und overflow: auto zum scrollbaren div hinzu.

body { 
    overflow: hidden; 
} 

#scroller { 
    overflow: auto; 
    height: 100px; 
} 

Example

+0

Absolut, css wäre großartig. Ich habe Ihren Code versucht, es funktioniert, aber die Bildlaufleiste ist nach dem Inhalt versteckt. Außerdem sind einige Elemente im div # scroller nicht vollständig sichtbar. – Caspert

+0

was meinst du mit der scrollbar ist nach dem inhalt versteckt? – patrick

+0

Die Browser Scrollbar ist nach dem Inhalt, so kann ich es nicht mehr verwenden .. @patrick – Caspert

14

deaktivieren verwenden:

css

.disableScroll{ 
     overflow-y:hidden; 
     overflow-x:hidden; 
} 

hinzufügen <body class="disableScroll"> nur auf das Sperr

Inline-Stil<body style="overflow:hidden">

für div, lassen Scrollen aktiviert <div style="overflow:auto;">

Beachten Sie, dass Sie Überlauf-y für vertikale Scroll-und Überlauf-x für die horizontale Scroll-Eigenschaften

+1

warum nicht einfach 'overflow: versteckt' statt overflow-x und y? –

+3

@Harsh, um mehr Flexibilität zu geben, wenn er vertikal vs horizontal deaktivieren möchte – Tatarin

1

für ganze Seite verwenden können:

body { 
    height: 100%; 
    width: 100%; 
} 

für div zum Beispiel:

div.scroll { 
    width:180px; 
    height:170px; 
    overflow:auto; 

} 

in html:

<div class='scroll'></div> 
+0

Stellen Sie sicher, dass die BODY und HTML-Tags keine Auffüllung und Rand haben, sonst 'width: 100%;' und 'height: 100%' würde die Kanten schieben außerhalb der Grenzen und erstellen Sie Rollbalken sowieso. – Broxzier

+0

Hallo @ArtsiomMitrokhin Ich habe Ihre Codes ausprobiert. Es funktioniert, aber wenn ich oben oder unten erreiche, werden Sie sehen, dass Sie scrollen können.Nur unten und oben, wenn Sie den unteren Teil des Inhaltsbereichs mit der Klasse scroll erreichen. – Caspert

1

HTML:

<div class="scrollDisable"></div> 

CSS:

.scrollDisable{ 
    overflow-y:hidden; 
    overflow-x:hidden; 

}

Für ganze Seite:

body { 
    height: 100%; 
    width: 100%; 
} 

Ich hoffe, dies wird hilfreich sein.