Hi ppl,
I have copied some code for a 3 column layout with a banner row at the
top.
I am fiddling with the code and went to add a second banner row but it
did not behave as I expected.
Can someone please explain?
Cheers
-Al
[code]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html><head><title>glish.com : CSS layout techniques : 3 columns, the
holy grail</title>
<style type="text/css">
@import "all.css"; /* just some basic formatting, no layout stuff */
body {
margin:10px 10px 0px 10px;
padding:0px;
background:rgb(122,122,122)
}
#leftcontent {
position: absolute;
left:10px;
top:50px;
width:200px;
background:#fff;
border:1px solid #000;
}
#centercontent {
background:#fff;
margin-left: 199px;
margin-right:199px;
border:1px solid #000;
/*
IE5x PC mis-implements the box model. Because of that we sometimes have
to perform a little CSS trickery to get pixel-perfect display across
browsers.
The following bit of code was proposed by Tantek Celik, and it preys
upon a CSS
parsing bug in IE5x PC that will prematurly close a style rule when it
runs
into the string "\"}\"". After that string appears in a rule, then, we
can override
previously set attribute values and only browsers without the parse bug
will
recognize the new values. So any of the name-value pairs above this
comment
that we need to override for browsers with correct box-model
implementations
will be listed below.
We use the voice-family property because it is likely to be used very
infrequently,
and where it is used it will be set on the body tag. So the second
voice-family value
of "inherit" will override our bogus "\"}\"" value and allow the proper
value to
cascade down from the body tag.
The style rule immediately following this rule offers another chance
for CSS2
aware browsers to pick up the values meant for correct box-model
implementations.
It uses a CSS2 selector that will be ignored by IE5x PC.
Read more at http://www.glish.com/css/hacks.asp
*/
voice-family: "\"}\"";
voice-family: inherit;
margin-left: 201px;
margin-right:201px;
}
html>body #centercontent {
margin-left: 201px;
margin-right:201px;
}
#rightcontent {
position: absolute;
right:10px;
top:50px;
width:200px;
background:#fff;
border:1px solid #000;
}
#banner {
background:#fff;
height:40px;
border-top:1px solid #000;
border-right:1px solid #000;
border-left:1px solid #000;
voice-family: "\"}\"";
voice-family: inherit;
height:39px;
}
html>body #banner {
height:39px;
}
p,h1,pre {
margin:0px 10px 10px 10px;
}
h1 {
font-size:14px;
padding-top:10px;
}
#banner h1 {
font-size:14px;
padding:10px 10px 0px 10px;
margin:0px;
}
#rightcontent p {
font-size:10px
}
#box {
border:1px solid #000;
width: 100px;
background:rgb(122,100,200);
}
</style>
</head><body>
<div id="banner"><h1>banner row1</h1></div>
<div id="banner"><h1>banner row2</h1></div>
<div id="leftcontent">
<h1>leftcontent</h1>
</div>
<div id="centercontent">
<h1>centercontent</h1>
</div>
<div id="rightcontent">
<h1>rightcontent</h1>
</div>
</body>
</html>