DotDragnet
February 08, 2012, 08:31:53 AM *
Welcome, Guest. Please login or register.

Login with username, password and session length
News: Mobile users - Our forum is Tapatalk enabled. http://www.tapatalk.com/
 
   Home   Help Search Login Register  
Pages: [1]   Go Down
  Print  
Author Topic: Help with scrollbar only for one div  (Read 1030 times)
daveb
Newbie
*
Posts: 46



View Profile Awards
« on: February 10, 2010, 09:28:20 PM »

Can someone help with my code I am fairly rusty with css and trying to position everything correctly is not working right for me.

A page is to have a fixed header, nav menu, and footer. The main div will have various amount of content and only this div should have the scroll bar, not the whole window.

So my content div has overflow as scroll, and if I set a specific height and width to the div instead of a percentage, a div specific scroll bar appears but the top of the scroll bar starts underneath the header div.



Code:
<style type="text/css">
html {
height:100%;
max-height:100%;  
padding:0;
margin:0;
border:0;
font-size:76%;
font-family: trebuchet ms, tahoma, verdana, arial, sans-serif;
 
/* hide overflow:hidden from IE5/Mac */
/* \*/
overflow: hidden;
/* */ }
 
body {
height:100%;
max-height:100%;
overflow:hidden;
padding:0;
margin:0;
border:0;
}
#content {
display:block;
height:100%;
max-height:100%;
overflow: scroll;
padding-left:200px;
position:relative;
z-index:3;
}
#head {
position:fixed;
margin:0; top:0; right:18px; display:block;
width:100%; height:100px;
background:url(topclown.jpg) #ddd;
font-size:4em; z-index:5;
color:#fff;
}
#foot {
position:fixed;
margin:0;
bottom:-1px;
right:18px; display:block;
width:100%; height:60px;
background:rgb(214,100,50);
color:#fff;
text-align:right;
font-size:1em;
z-index:4;}
 
#left {
position:fixed;
left:0; top:0; height:100%;
width:200px; background:url(sideclown.jpg) #aaa;
background-position:0 100px;;
font-size:1em;
color:#fff;
z-index:4;}
 
* html #head, * html #foot,* html #left {position:absolute;}
 
#pad1 {
display:block;
width:18px;
height:100px;
float:left;
}
#pad3 {
display:block;
width:18px;
height:50px;
float:left;
}
.pad2 {
display:block;
height:100px;
}
 
#content p {
padding:5px;
}
 
.bold {font-size:1.2em; font-weight:bold;}
 
#wordsleft {
float:left;
top:100px;
left:150px;
height:200px;
width:150px;
background:#efd;
border:1px solid #000;
margin:5px;
padding:5px;
}
#wordsright {
float:right;
top:100px;
right:150px;
height:200px;
width:150px;
background:#def;
border:1px solid #000;
margin:5px;
padding:5px;
}
#wordsabsolute {
position:absolute; top:280px; left:400px;
background:#eee; border:1px solid #000;
margin:5px; padding:5px;
font-size:2em;
color:#c00;
}
#wordsrelative {
position:relative; top:10px; left:30px;
background:#ddd; border:1px solid #000;
margin:5px; padding:5px;
font-size:2em;
color:#c00;
width:200px;
}
a.nav, a.nav:visited {
display:block;
width:100px; height:25px;
text-decoration:none;
color:#fff;
font-weight:bold;
line-height:25px;}
a.nav:hover {
color:#fc0;
}
</style>

</head>
 
<body>
<div id="head">
<div id="pad1"></div>
header text</div>
<div id="foot">
<div id="pad3"></div>
<br />gfdsfghjkllkjhg
</div>
 
<div id="left">
<div class="pad2"></div>
<ul>
<li><a class="nav" href="#">1</a></li>
<li><a class="nav" href="#">2</a></li>
<li><a class="nav" href="#">3</a></li>
<li><a class="nav" href="#">4</a></li>
<li><a class="nav" href="#">5</a></li>
<li><a class="nav" href="#">6</a></li>
</ul>
</div>
 
<div id="content">
<div class="pad2"></div>
<h2>&nbsp;h2</h2>
<p>
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh
  euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim
  ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl
  ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit
  in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla
  facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent
  luptatum zzril delenit augue duis dolore te feugait nulla facilisi.
</p>
<p>
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh
  euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim
  ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl
  ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit
  in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla
  facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent
  luptatum zzril delenit augue duis dolore te feugait nulla facilisi.
</p>
<p>
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh
  euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim
  ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl
  ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit
  in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla
  facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent
  luptatum zzril delenit augue duis dolore te feugait nulla facilisi.
</p>
<p>
Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit
  lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure
  dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore
  eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim
  qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla
  facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam
  nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.
</p>

 
<p>
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh
  euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim
  ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl
  ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit
  in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla
  facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent
  luptatum zzril delenit augue duis dolore te feugait nulla facilisi.
</p>

<p>
Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit
  lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure
  dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore
  eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim
  qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla
  facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam
  nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.
</p>

<p>
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh
  euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim
  ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl
  ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit
  in vulputate velit esse
molestie consequat, vel illum dolore eu feugiat nulla
  facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent
  luptatum zzril delenit augue duis dolore te feugait nulla facilisi.
</p>

<p>
Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit
  lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure
  dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore
  eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim
  qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla
  facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam
  nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.
</p>
<p>
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh
  euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim
  ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl
  ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit
  in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla
  facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent
  luptatum zzril delenit augue duis dolore te feugait nulla facilisi.
</p>
<p>
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh
  euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim
  ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl
  ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit
  in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla
  facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent
  luptatum zzril delenit augue duis dolore te feugait nulla facilisi.
</p>
<p>
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh
  euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim
  ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl
  ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit
  in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla
  facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent
  luptatum zzril delenit augue duis dolore te feugait nulla facilisi.
</p>
<p>
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh
  euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim
  ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl
  ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit
  in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla
  facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent
  luptatum zzril delenit augue duis dolore te feugait nulla facilisi.
</p>
<p>
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh
  euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim
  ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl
  ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit
  in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla
  facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent
  luptatum zzril delenit augue duis dolore te feugait nulla facilisi.
</p>
<p>
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh
  euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim
  ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl
  ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit
  in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla
  facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent
  luptatum zzril delenit augue duis dolore te feugait nulla facilisi.
</p>
<p>
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh
  euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim
  ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl
  ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit
  in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla
  facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent
  luptatum zzril delenit augue duis dolore te feugait nulla facilisi.
</p>
<p>
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh
  euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim
  ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl
  ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit
  in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla
  facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent
  luptatum zzril delenit augue duis dolore te feugait nulla facilisi.
</p>

 
<div class="pad2"></div>
</div>

</body>
</html>

Logged
neal
Sr. Member
****
Posts: 300



nealio82
View Profile Awards
« Reply #1 on: February 11, 2010, 10:34:46 AM »

giving something position: fixed has the same effect as position: absolute (except it stays fixed to the viewport when the user scrolls) in that it takes it out of the document flow & its space isn't reserved. in essence this means it places it in a new layer above the rest of the content & everything else shifts up.

give your scrolling div a margin-top equal to the height of the fixed header & that should sort it.
Logged

sig edited due to migrating from .net
daveb
Newbie
*
Posts: 46



View Profile Awards
« Reply #2 on: February 16, 2010, 07:21:55 PM »

Thanks for the reply, maybe I was not explaining the sort of thing I was after. Is it possible to make the scroll bar only show where indicated or is defined by the overall window?
Margin-top does sort of work but I can not use margin-bottom.

Logged
Mr Anderson
DDN Contribs
Hero Member
*****
Posts: 2213



ap4a.uk ap4a
View Profile WWW Awards
« Reply #3 on: February 16, 2010, 07:45:08 PM »

You need to give the main content section a height (not 100%) and set the overflow property to auto.
Logged

daveb
Newbie
*
Posts: 46



View Profile Awards
« Reply #4 on: February 16, 2010, 10:50:54 PM »

Thanks for that it with the margin-top and bottom it looks much better. I dont suppose there is a way to make ends of the scroll bars blend/not stop the header or footer divs?


Logged
Mr Anderson
DDN Contribs
Hero Member
*****
Posts: 2213



ap4a.uk ap4a
View Profile WWW Awards
« Reply #5 on: February 16, 2010, 10:59:59 PM »

You could maybe pad the top and bottom of the content section, and then overly those padded areas with the header and footer using absolute positioning. Set the width of the header and footer so that they just leave the scroll bar visible to their right.

But in doing that aren't you just replicating/displacing the browser scroll bar? You could set the header and footer to use fixed positioning and have the same functionality in a more recognisable package with more of the viewport available to you and less potential issues with screen size.
« Last Edit: February 16, 2010, 11:08:15 PM by Mr Anderson » Logged

neal
Sr. Member
****
Posts: 300



nealio82
View Profile Awards
« Reply #6 on: February 17, 2010, 09:27:50 AM »

You could set the header and footer to use fixed positioning and have the same functionality in a more recognisable package with more of the viewport available to you and less potential issues with screen size.

that's exactly what i presumed he was trying to do.
Logged

sig edited due to migrating from .net
Mr Anderson
DDN Contribs
Hero Member
*****
Posts: 2213



ap4a.uk ap4a
View Profile WWW Awards
« Reply #7 on: February 17, 2010, 10:48:01 AM »

You could set the header and footer to use fixed positioning and have the same functionality in a more recognisable package with more of the viewport available to you and less potential issues with screen size.

that's exactly what i presumed he was trying to do.

His first and last posts suggest that, but the first image doesn't. With what's been posted so far he can do it either way now, though smile
Logged

daveb
Newbie
*
Posts: 46



View Profile Awards
« Reply #8 on: February 17, 2010, 10:50:59 AM »

hmm ok well this proves my CSS knowledge is very bad, the code I had was supplied by someone else and I was trying to alter it.
I think I need to look at a few CSS positioning tutorials tonight and start again.  dontgetit
Logged
Pages: [1]   Go Up
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF | SMF © 2006-2008, Simple Machines Valid XHTML 1.0! Valid CSS!