2008-09-17 11 views
6

Ich habe dies in ein paar Websites getan, ein Beispiel ist artofadambetts.com. Die Bildlaufleiste auf der Seite scrollt nur ein Element der Seite, nicht die gesamte Seite. Ich schaute auf die Quelle und konnte es noch nicht herausfinden. Wie wird das gemacht?Wie richte ich die Browser-Bildlaufleiste ein, um einen Teil einer Seite zu scrollen?

<div style="overflow-x: auto; overflow-y: auto;>the content</div>

Wenn Sie nur eine horizontale oder vertikale Bildlaufleiste wollen, nur verwenden, je nachdem, welcher der Überlauf-x und Überlauf-y Sie brauchen:

Antwort

9

Die ziemlich raffinierte ist. Er verwendet "position: fixed" für die meisten Divs, und derjenige, der scrollt, ist derjenige, der ihn nicht hat.

-3

Um Bildlaufleisten an einem Element wie zum Beispiel ein div zu setzen.

0

Für ein div, können Sie in der cSS

overflow: auto 

Zum Beispiel

 
<div style="overflow:auto; height: 500px">Some really long text</div> 

Bearbeiten hinzu: Nach einem Blick auf die Website, die Sie geschrieben, Sie wahrscheinlich das nicht wollen. Was er auf seiner Website macht, ist das Layout als fest (Position: fixed) und weist ihm einen höheren Z-Index zu als der Text, der niedrigerer Z-Index ist.

Zum Beispiel:

 
<div class="highz"> //Put random stuff here. it'll be fixed </div> 
<div class="lowz"> Put stuff here you want to scroll and position it.</div> 

mit CSS-Datei

div.highz {position: fixed; z-index: 2;} 
div.lowz {position: fixed; z-index: 1;} 
0

Der Browser ist Scrollen der Seite, es ist nur, dass ein Teil davon in Position fixiert ist.

Dies geschieht, indem Sie die CSS-Eigenschaft "position: fixed" für den Teil verwenden, den Sie nicht scrollen möchten.

0

Sie haben die seitlichen und oberen Elemente auf Positionen über CSS festgelegt haben (siehe Linie 94 ihrer style.css-Datei). Dies hält sie im Ansichtsfenster, während der Rest scrollt.

4

Tatsächlich ist es nicht der Scrollteil, der "die Arbeit macht", sondern der feste Teil der Seite.

Um dies zu tun, sollten Sie CSS und position: fixed; Eigenschaft hinzufügen (verwenden Sie es mit top, bottom, left und/oder right Eigenschaften) auf die Elemente, die Sie nicht wollen, zu blättern.

Und Sie sollten nicht vergessen, ihnen eine größere z-index zu geben, wenn Sie nicht einige der Scroll-Elemente, die über Ihre festen Element gehen können, wie Sie scrollen können (und Sie sicherlich nicht wollen, dass).

1

Um herauszufinden, wie Menschen diese Art von Dingen in CSS tun und/oder Javascript das Tool Firebug ist einfach hervorragend:

Firebug addon for Firefox

1

Es sollte beachtet werden, dass ohne further hacks Position nicht für IE6 fixiert funktioniert , die immer noch 15-30% des Marktes halten kann, abhängig von Ihrer Site.

+0

Guten Punkt zum Scrollen. Die Seite funktioniert nicht in IE 6. – airportyh

1

Sie können feste Positionierung oder absolute Positionierung verwenden, um verschiedene Elemente an festen Positionen auf der Seite zu binden. Alternativ können Sie ein Element fester Größe (z. B. ein DIV) angeben und overflow: scroll verwenden, um die Bildlaufleisten darauf zu erzwingen.

Wie bereits erwähnt, erfordert alles, um in Internet Explorer und Firefox/Opera/Safari zu arbeiten, eine umsichtige Verwendung von Hacks.

0

diesen Versuchen Sie, einen bestimmten Teil der Web-Seite ......

<html> 
     <head> 
     <title>Separately Scrolled Area Demo</title> 
     </head> 
      <body> 
       <div style="width: 100px; border-style: solid"> 

      <div style="overflow: auto; width: 100px; height: 100px"> 
         sumit.................. 
         amit................... 
         mrinal................. 
         nitesh................ 
         maneesh................ 
         raghav................... 
         hitesh................... 
         deshpande................ 
         sidarth.................... 
         mayank..................... 
         santanu.................... 
         sahil...................... 
         malhan..................... 
         rajib..................... 
         </div> 
         </div> 
        </body> 
     </html> 
Verwandte Themen