?
Solved

using css to create expanding side columns with background images

Posted on 2010-09-08
2
Medium Priority
?
254 Views
Last Modified: 2012-05-10
On my page I want one center fixed width container, on either side of this container I want to have a background image that expands to fill the rest of the page. Like this:

<<expanding>>  <<fixed width 980px>> <<expanding>>

I'm having a very difficult time getting this to work. My layout looks basically like this:

<div class="side_bar">
  <div class="top_stripe">&nbsp;</div>
</div>
<div class="container">
<div class="side_bar">
  <div class="top_stripe">&nbsp;</div>
</div>

.side_bar {
      float: left;
}
.top_stripe {
      background-image: url(../images/top_bg_stripe.png);
      background-repeat: repeat-x;
      background-position: top;
      width: auto;
      height: 230px;
}
.container {
      width: 980px; /* the auto value on the sides, coupled with the width, centers the layout */
      margin-top: 0;
      margin-right: 0px;
      margin-bottom: 0;
      margin-left: 0px;
      float: left;
}

The sample page is here:

http://www.glowfishtw.com/play3on3/index.aspx#

I thought that by setting       width: auto; of top_stripe would cause that column to expand to fill up the extra space. Any ideas what I'm doing wrong here? Thanks.
0
Comment
Question by:elliottbenzle
[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
2 Comments
 
LVL 40

Accepted Solution

by:
Gurvinder Pal Singh earned 2000 total points
ID: 33630982
change it to this

<div>
<div class="left_side_bar">
  <div class="top_stripe">&nbsp;</div>
</div>
<div class="container">
<div class="right_side_bar">
  <div class="top_stripe">&nbsp;</div>
</div>
</div>

.left_side_bar {
      float: left;
      width:10%;
}
.right_side_bar {
      float: right;
      width:10%;
}
.top_stripe {
      background-image: url(../images/top_bg_stripe.png);
      background-repeat: repeat-x;
      background-position: top;
      height: 230px;
}
.container {
      width: 98%; /* the auto value on the sides, coupled with the width, centers the layout */
      margin: 0 10%;
      float: left;
}

Open in new window

0
 
LVL 4

Author Closing Comment

by:elliottbenzle
ID: 33631801
Thanks
0

Featured Post

Tutorial: Introduction to Managing a Linux Server

In this tutorial on systemd, we will explore:
-OS/Distro Adoption
-chkconfig and Other Legacy Commands
-Summary and Key Commands

Question has a verified solution.

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

CSS is a visual language used to classify objects and define rules about how they should be displayed. CSS skills aren’t restricted to developers anymore, there is a big benefit to having a basic understanding of the language, regardless of your occ…
Q&A with Course Creator, Mark Lassoff, on the importance of HTML5 in the career of a modern-day developer.
In this tutorial viewers will learn how to code links for mobile sites that, once clicked, send a call or text to a specified number. For a telephone link (once clicked, calls a number), begin with a normal "<a href=" link tag. For the href, specify…
The viewer will the learn the benefit of plain text editors and code an HTML5 based template for use in further tutorials.

762 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