Solved

CSS based liquid + fixed center 3 column layout.

Posted on 2008-06-17
13
363 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
  • 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
 
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
IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 
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

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

SASS allows you to treat your CSS code in a more OOP way. Let's have a look on how you can structure your code in order for it to be easily maintained and reused.
Why do we like using grid based layouts in website design? Let's look at the live examples of websites and compare them to grid based WordPress themes.
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)

746 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

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now