thegoatherder
11-04-2009, 01:29 AM
Hey,
Trying to make a fluid CSS layout as per the attached diagram.
7898
The blue and red containers in the diagram (#content and #stretch in the CSS) should stretch vertically, while the green ones have static heights and keep their positioning relative to the #content and #stretch
#content contains text/images and should have a vertically repeating background-image.
#stretch contains nothing, but also has a repeating background image.
My current code looks like this:
HTML
<body>
<div id="wrapper">
<div id="container">
<div id="logo"></div>
<div id="content"><div id="contentPane"><h1>Contact</h1>
<p>Lorem ipsum dolor sit amet , consectetur adipiscing elit. Nunc eu ipsum quis velit blandit volutpat. Praesent ornare blandit congue. Duis auctor dignissim placerat. Integer malesuada sapien bibendum enim malesuada varius. Nunc in nunc a mi pulvinar imperdiet. Donec erat augue, convallis laoreet aliquam vel, pellentesque vel lacus. Fusce dignissim sagittis nulla. Quisque sagittis urna justo. Proin ultrices dapibus massa, vitae aliquet velit varius at. Sed id erat eu magna consectetur condimentum. Praesent at ante id nisi mollis lobortis vitae nec lectus. Suspendisse in semper risus. Suspendisse eget convallis ipsum. Phasellus ornare, tortor mattis eleifend auctor, odio est condimentum justo, nec posuere tortor tortor et dolor. Pellentesque arcu magna, facilisis vitae aliquam at, sodales id risus. Ut varius, tellus et fringilla eleifend, turpis dolor elementum eros, et cursus metus elit quis dui. Maecenas imperdiet accumsan dictum.</p>
<p>Suspendisse et tempor ligula. Cras ultricies enim sit amet sem pulvinar eget porttitor nisl euismod. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nam quis consectetur sapien. Nam id dui enim, eleifend consequat ipsum. Aenean elementum enim magna, vel malesuada justo. Donec at velit a dui ornare commodo. Proin auctor rhoncus nibh id tincidunt. Ut in ante nisl. In vel sem elit, id congue mauris. In augue dolor, egestas sit amet porta vel, egestas quis velit. Morbi sapien massa, adipiscing eu vestibulum sed, porta congue quam. Aenean pellentesque neque nec enim posuere eget bibendum risus adipiscing. Etiam interdum rutrum est vel auctor.</p>
<p>Integer tortor odio, volutpat a euismod congue, molestie eget est. Proin varius, velit non rutrum gravida, mauris nulla fermentum dui, ac gravida justo metus ac nisl. Aliquam venenatis nulla et libero pretium gravida. Curabitur volutpat nunc eu justo auctor tempor vestibulum turpis laoreet. In quis tempus enim. Nam imperdiet velit et purus molestie mollis. Pellentesque et mi in justo malesuada dignissim. Pellentesque sit amet justo nisi, vitae gravida nisi. Mauris eget justo justo, et tempor metus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed congue volutpat elit, eget vulputate tortor viverra pretium.</p>
</div></div>
<div id="hat"></div>
<div id="stretch"></div>
<div id="animation"></div>
<div id="footer"></div>
</div>
</div>
</body>
CSS
html, body {
height: 100%;
margin: 0;
padding: 0;
}
#wrapper{
width: 727px;
height: 100%;
margin: 0 auto; /* the auto margins (in conjunction with a width) center the page */
border: 0px solid #000000;
text-align: left; /* this overrides the text-align: center on the body element. */
padding: 0;
}
#container {
padding: 0;
border: none;
height: 100%;
position: relative;
text-align: left;
width: 727px;
}
#logo {
background: url('alex-catering-logo.gif') 0 0 no-repeat;
border: none;
height: 66px;
left: 0px;
padding: 0px;
position: absolute;
width: 726px;
top: 0;
margin: 0;
}
#content {
background: url('content.gif') 0 0 repeat-x;
border: none;
height: 100%;
left: 0px;
padding: 0px;
text-align: left;
position: relative;
top: 66px;
width: 335px;
clear:left
}
#contentPane {
border: none;
left: 0px;
padding: 0px;
position: relative;
width: 300px;
margin: 40px 0 0 40px;
}
#hat {
background: url('top-chef-hat.gif') 0 0 no-repeat;
border: none;
height: 154px;
left: 335px;
padding: 0px;
position: absolute;
top: 66px;
width: 391px;
clear:right;
}
#stretch {
background: url('stretch.gif') 0 0 repeat-x;
border: none;
height: 100%;
left: 335px;
padding: 0px;
position: absolute;
top: 220px;
width: 391px;
text-align: left;
clear: left;
}
#animation {
background: url('alex_web_anim.gif') 0 0 no-repeat;
border: none;
height: 308px;
left: 335px;
padding: 0px;
position: absolute;
top: 230px;
width: 391px;
clear:right;
}
#footer {
background: url('footer.gif') 0 0 no-repeat;
border: none;
height: 46px;
left: 0px;
padding: 0px;
position: absolute;
top: 538px;
width: 726px;
clear: both;
}
Any suggestions would be much appreciated!!!
:-)
-- A.
Trying to make a fluid CSS layout as per the attached diagram.
7898
The blue and red containers in the diagram (#content and #stretch in the CSS) should stretch vertically, while the green ones have static heights and keep their positioning relative to the #content and #stretch
#content contains text/images and should have a vertically repeating background-image.
#stretch contains nothing, but also has a repeating background image.
My current code looks like this:
HTML
<body>
<div id="wrapper">
<div id="container">
<div id="logo"></div>
<div id="content"><div id="contentPane"><h1>Contact</h1>
<p>Lorem ipsum dolor sit amet , consectetur adipiscing elit. Nunc eu ipsum quis velit blandit volutpat. Praesent ornare blandit congue. Duis auctor dignissim placerat. Integer malesuada sapien bibendum enim malesuada varius. Nunc in nunc a mi pulvinar imperdiet. Donec erat augue, convallis laoreet aliquam vel, pellentesque vel lacus. Fusce dignissim sagittis nulla. Quisque sagittis urna justo. Proin ultrices dapibus massa, vitae aliquet velit varius at. Sed id erat eu magna consectetur condimentum. Praesent at ante id nisi mollis lobortis vitae nec lectus. Suspendisse in semper risus. Suspendisse eget convallis ipsum. Phasellus ornare, tortor mattis eleifend auctor, odio est condimentum justo, nec posuere tortor tortor et dolor. Pellentesque arcu magna, facilisis vitae aliquam at, sodales id risus. Ut varius, tellus et fringilla eleifend, turpis dolor elementum eros, et cursus metus elit quis dui. Maecenas imperdiet accumsan dictum.</p>
<p>Suspendisse et tempor ligula. Cras ultricies enim sit amet sem pulvinar eget porttitor nisl euismod. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nam quis consectetur sapien. Nam id dui enim, eleifend consequat ipsum. Aenean elementum enim magna, vel malesuada justo. Donec at velit a dui ornare commodo. Proin auctor rhoncus nibh id tincidunt. Ut in ante nisl. In vel sem elit, id congue mauris. In augue dolor, egestas sit amet porta vel, egestas quis velit. Morbi sapien massa, adipiscing eu vestibulum sed, porta congue quam. Aenean pellentesque neque nec enim posuere eget bibendum risus adipiscing. Etiam interdum rutrum est vel auctor.</p>
<p>Integer tortor odio, volutpat a euismod congue, molestie eget est. Proin varius, velit non rutrum gravida, mauris nulla fermentum dui, ac gravida justo metus ac nisl. Aliquam venenatis nulla et libero pretium gravida. Curabitur volutpat nunc eu justo auctor tempor vestibulum turpis laoreet. In quis tempus enim. Nam imperdiet velit et purus molestie mollis. Pellentesque et mi in justo malesuada dignissim. Pellentesque sit amet justo nisi, vitae gravida nisi. Mauris eget justo justo, et tempor metus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed congue volutpat elit, eget vulputate tortor viverra pretium.</p>
</div></div>
<div id="hat"></div>
<div id="stretch"></div>
<div id="animation"></div>
<div id="footer"></div>
</div>
</div>
</body>
CSS
html, body {
height: 100%;
margin: 0;
padding: 0;
}
#wrapper{
width: 727px;
height: 100%;
margin: 0 auto; /* the auto margins (in conjunction with a width) center the page */
border: 0px solid #000000;
text-align: left; /* this overrides the text-align: center on the body element. */
padding: 0;
}
#container {
padding: 0;
border: none;
height: 100%;
position: relative;
text-align: left;
width: 727px;
}
#logo {
background: url('alex-catering-logo.gif') 0 0 no-repeat;
border: none;
height: 66px;
left: 0px;
padding: 0px;
position: absolute;
width: 726px;
top: 0;
margin: 0;
}
#content {
background: url('content.gif') 0 0 repeat-x;
border: none;
height: 100%;
left: 0px;
padding: 0px;
text-align: left;
position: relative;
top: 66px;
width: 335px;
clear:left
}
#contentPane {
border: none;
left: 0px;
padding: 0px;
position: relative;
width: 300px;
margin: 40px 0 0 40px;
}
#hat {
background: url('top-chef-hat.gif') 0 0 no-repeat;
border: none;
height: 154px;
left: 335px;
padding: 0px;
position: absolute;
top: 66px;
width: 391px;
clear:right;
}
#stretch {
background: url('stretch.gif') 0 0 repeat-x;
border: none;
height: 100%;
left: 335px;
padding: 0px;
position: absolute;
top: 220px;
width: 391px;
text-align: left;
clear: left;
}
#animation {
background: url('alex_web_anim.gif') 0 0 no-repeat;
border: none;
height: 308px;
left: 335px;
padding: 0px;
position: absolute;
top: 230px;
width: 391px;
clear:right;
}
#footer {
background: url('footer.gif') 0 0 no-repeat;
border: none;
height: 46px;
left: 0px;
padding: 0px;
position: absolute;
top: 538px;
width: 726px;
clear: both;
}
Any suggestions would be much appreciated!!!
:-)
-- A.