Hi,
I think I already answered most of these questions!
1) It is absolute as you can see for the code here:
Code:
<div id="content_sub" class="sc">
Code:
.pc,.sc { position : absolute; top: 0; left: 0; }
As you can see class .sc supplies the absolute positioning to that element.
2 and 3) As I said before there are no floats in the page so clearing is not necessary but the comments mention a bug in safari so maybe it was a fix for safari which I don't have to check but it sounds very unlikely to me.
The background in IE isn't showing because the element has been made display:inline here:
Code:
<div id="content" class="clear_children">
Code:
* html .clear_children { display: inline;}
Because it is display inline then the background doesn't follow nested block elements. Remove the clear_children class and the background will return.
4) As you don't have any conditional comments in the page I can't tell what you are doing wrong.
The stylesheets should follow the original stylesheets so don't call the ie specific stylesheet before you call the normal styles sheets otherwise they will be overwritten.
Here is a how you would usually use them.
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>CSS examples</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
<link href="main.css" rel="stylesheet" type="text/css" />
<!--[if IE ]>
<link href="iecss.css" rel="stylesheet" type="text/css" />
<![endif]-->
</head>
Of course you may have sheets for different versions of ie and you would just apply them taking into account normal cascade rules.
5) I anwsered that in my original post and in 2 and 3 above. Just remove the * html .clear_children { display: inline;} from the stylesheet as it is an IE only fix anyway. Or remove the clear_children class for the div.
6) I also answered this and its because you are absolutely placing one p on top of another.
In firefox the adjacent selector is used to move the first p tag off screen (god knows why!). IE6 doesn't understand the adjacent selector and therefore the absolute positioning on the pa tag places them on top of each other in IEe-///.
Code:
div#site_info h5 + p {
text-indent : -9999px; }
To achieve the sametext-indext effect in ie6 you would need to add a class to the p tag:
e.g.
Code:
div#site_info p.move {
text-indent : -9999px; }
Code:
<p class="move">Beta until the cabbage has boiled</p>
All in all (from what you've shown me, as I don't have the book) this is a bit of a mess and not something I would like to promote
Bookmarks