Solved

CSS based liquid + fixed center 3 column layout.

Posted on 2008-06-17
13
370 Views
Last Modified: 2013-11-19
I'm trying to make a 3 column layout with CSS however, I want the left and right columns to remain fixed while the center takes up the rest of the space. However, when I made the left and right fixed, the center pushes down below them like it doesn't fit.
<html>
<head>
<title>Vimark Solutions</title>
<style type="text/css">
<!--
body {
  margin: 0px;
  padding: 0px;
}
#header {
  background: #0f0;
  width: 100%;
}
#leftcol {
  background: #f00;
  float: left;
  width: 200px;
  height: 500px;
}
#rightcol {
  background: #f00;
  float: right;
  width: 200px;
  height: 500px;
}
#content {
  background: #fff;
  float: left;
  width: 100%;
  height: 500px;
  border: 1px solid #000;
}
#footer {
  background: #0f0;
  clear: both;
  width: 100%;
}
-->
</style>
</head>
<body>
<div id="header">Header Section</div>
<div id="leftcol">Left Section</div>
<div id="rightcol">Right Section</div>
<div id="content">Content Section</div>
<div id="footer">Footer Section</div>
 
</body>
</html>

Open in new window

0
Comment
Question by:MeridianManagement
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 6
  • 5
13 Comments
 
LVL 16

Expert Comment

by:rbudj
ID: 21803680
take the float:left out of the content css
<html>
<head>
<title>Vimark Solutions</title>
<style type="text/css">
<!--
body {
  margin: 0px;
  padding: 0px;
}
#header {
  background: #0f0;
  width: 100%;
}
#leftcol {
  background: #f00;
  float: left;
  width: 200px;
  height: 500px;
}
#rightcol {
  background: #f00;
  float: right;
  width: 200px;
  height: 500px;
}
#content {
  background: #fff;
 
  width: 100%;
  height: 500px;
  border: 1px solid #000;
}
#footer {
  background: #0f0;
  clear: both;
  width: 100%;
}
-->
</style>
</head>
<body>
<div id="header">Header Section</div>
<div id="leftcol">Left Section</div>
<div id="rightcol">Right Section</div>
<div id="content">Content Section</div>
<div id="footer">Footer Section</div>
 
</body>
</html>

Open in new window

0
 
LVL 30

Expert Comment

by:Steggs
ID: 21803805
Greetings,

try this

#content {
  background: #fff;
  border: 1px solid #000;
  height: 500px;
  margin:0px 204px;
}
0
 
LVL 2

Author Comment

by:MeridianManagement
ID: 21805855
Actually, my apologies, Steggs was more correct. For anyone else having this problem make sure you check that your width is empty.
0
WordPress Tutorial 1: Installation & Setup

WordPress is a very popular option for running your web site and can be used to get your content online quickly for the world to see. This guide will walk you through installing the WordPress server software and the initial setup process.

 
LVL 30

Expert Comment

by:Steggs
ID: 21806754
:D
0
 
LVL 30

Expert Comment

by:Steggs
ID: 21806912
Im not being petty but some people might not check the other posts here... they will look straight at the accepted solution... I think you should get the answer reassigned ... give rbudj an assist
0
 
LVL 2

Author Comment

by:MeridianManagement
ID: 21816000
Steggs, how do I reassign?
0
 
LVL 30

Expert Comment

by:Steggs
ID: 21816292
there should be a 'request attention' link at the top of this thread in your question... then just say what you want to do and they will deal with it

Cheers mate
0
 
LVL 2

Author Comment

by:MeridianManagement
ID: 21816812
Steggs, I have one more question related to this since the question is now re-opened. The change you recommended works great, but in Internet Explorer there is a little space between the left, center, and right columns, but everything else touches perfectly. Any ideas?
0
 
LVL 30

Expert Comment

by:Steggs
ID: 21816911
ok cool

ie6 or 7?

did u change anything else?

can u post all the html and css
0
 
LVL 2

Author Comment

by:MeridianManagement
ID: 21816931
Remember, firefox is reading this fine, but internet explorer is adding spaces.
<html>
<head>
<title>Vimark Solutions</title>
<style type="text/css">
<!--
body {
  margin: 0px;
  padding: 10px;
  font-family:Arial, Helvetica, sans-serif;
}
#header {
  background: #fff;
  padding: 10px;
  border: 1px solid #000;
}
#navigation {
  background: #fff;
  border: 1px solid #000;
  padding: 10px;
}
#leftcol {
  background: #fff;
  float: left;
  width: 200px;
  height: 500px;
  border: 1px solid #000;
  padding: 10px;
}
#rightcol {
  background: #fff;
  float: right;
  width: 200px;
  height: 500px;
  border: 1px solid #000;
  padding: 10px;
}
#content {
  background: #fff;
  float: none;
  height: 500px;
  border: 1px solid #000;
  padding: 10px;
}
#footer {
  background: #fff;
  padding: 10px;
  border: 1px solid #000;
}
-->
</style>
</head>
<body>
<div id="header">Header Section</div>
<div id="navigation">Navigation - <a href="property_form.php">Property Form</a> - <a href="investor_form.php">Investor Form</a> </div>
<div id="leftcol">Left Section</div>
<div id="rightcol">Right Section</div>
<div id="content">Content Section</div>
<div id="footer">Footer Section</div>
</body>
</html>

Open in new window

0
 
LVL 30

Accepted Solution

by:
Steggs earned 500 total points
ID: 21816969
you need a doctype at the top of the page... this is vitally important... you should read up about doctypes
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Vimark Solutions</title>
<style type="text/css">
<!--
body {
  margin: 0px;
  padding: 10px;
  font-family:Arial, Helvetica, sans-serif;
}
#header {
  background: #fff;
  padding: 10px;
  border: 1px solid #000;
}
#navigation {
  background: #fff;
  border: 1px solid #000;
  padding: 10px;
}
#leftcol {
  background: #fff;
  float: left;
  width: 200px;
  height: 500px;
  border: 1px solid #000;
  padding: 10px;
}
#rightcol {
  background: #fff;
  float: right;
  width: 200px;
  height: 500px;
  border: 1px solid #000;
  padding: 10px;
}
#content {
  background: #fff;
  float: none;
  height: 500px;
  border: 1px solid #000;
  padding: 10px;
}
#footer {
  background: #fff;
  padding: 10px;
  border: 1px solid #000;
}
-->
</style>
</head>
<body>
<div id="header">Header Section</div>
<div id="navigation">Navigation - <a href="property_form.php">Property Form</a> - <a href="investor_form.php">Investor Form</a> </div>
<div id="leftcol">Left Section</div>
<div id="rightcol">Right Section</div>
<div id="content">Content Section</div>
<div id="footer">Footer Section</div>
</body>
</html>

Open in new window

0
 
LVL 2

Author Closing Comment

by:MeridianManagement
ID: 31467961
You deserve 1000 points but I can only give you 500
0

Featured Post

Want Experts Exchange at your fingertips?

With Experts Exchange’s latest app release, you can now experience our most recent features, updates, and the same community interface while on-the-go. Download our latest app release at the Android or Apple stores today!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

JavaScript has plenty of pieces of code people often just copy/paste from somewhere but never quite fully understand. Self-Executing functions are just one good example that I'll try to demystify here.
This article demonstrates how to create a simple responsive confirmation dialog with Ok and Cancel buttons using HTML, CSS, jQuery and Promises
The viewer will receive an overview of the basics of CSS showing inline styles. In the head tags set up your style tags: (CODE) Reference the nav tag and set your properties.: (CODE) Set the reference for the UL element and styles for it to ensu…
Learn how to create flexible layouts using relative units in CSS.  New relative units added in CSS3 include vw(viewports width), vh(viewports height), vmin(minimum of viewports height and width), and vmax (maximum of viewports height and width).
Suggested Courses

615 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question