Hi,
Quote:
|
The right and left column should have no margin between them,
|
The why have you set the left column to 150px and the right column at 170px! Thats a 20px gap between the two - I'm not a mind-reader
Quote:
|
(A hint: I work on this problem a few months already; I have tried all obvious things already, they don't work; setting padding and margins to zero on both columns seems to be an obvious suggestion, but don't give it: I have tried all obviuos suggestions, they don't works, and this one does not work consistently across the three browsers.)
|
hint : look at the the FAQ sticky thread especially the part on floats and the ie 3 pixel jog. It is a simple matter to overcome when you know what you are doing.
Code:
Moreover, dropping URI does not change anything - it still does not work
Yes it does - get your facts right please. I'm here to give help and not argue about these things. See here for more info about doctypes:
http://www.ericmeyeroncss.com/bonus/render-mode.html
Doctypes do not have to have a uri and there is no hard and fast rule. The html 4.01 transitional doctype without uri triggers (quirks mode (legacy behavuiour) in ie.
The xml prologue is 100% valid in xhtml documents but is optional so you can leave it in or take it out. In ie6 it triggers quirks mode by accident and in some cases this can be used to your advantage as in your problem above.
Quote:
|
In other words, nobody knows a valid HTML/CSS way to fix the issue?
|
What are you talking about I have given you 2 valid ways to fix the issues you mentioned.
The only thng you need to know is that text is not selectable in ie6 when in standards mode when using absolutely placed elements.
Therefore you have 2 chioces:
Force quirks mode as explained above - 100% valid.
Us floats -100% valid. But you will need to fix the ie 3 pixel jog but the code and css will validate.
Here it is anyway as I'm still feeling generous even after your post
Code:
<!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>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
#left{
float:left;
width:150px;
background:red;
}
* html #left {margin-right:-3px}/* ie 3 pixel jog*/
#middle{
margin-left:150px;
width:400px;
background:blue;
}
* html #middle {margin-left:147px}/*ie will add 3 pixels to this*/
</style>
</head>
<body>
<div id="left">
<p>menu here</p>
<p>menu here</p>
<p>menu here</p>
<p>Some text to wrap around some text to wrap around : Some text to wrap around
some text to wrap around : Some text to wrap around some text to wrap around
: </p>
</div>
<div id="middle">
<p> Paragraph here. Paragraph here. Paragraph here. Paragraph here. Paragraph
here. Paragraph here. Paragraph here. Paragraph here. Paragraph here. Paragraph
here. Paragraph here. Paragraph here. Paragraph here. Paragraph here. Paragraph
here. Paragraph here. Paragraph here. Paragraph here. Paragraph here.</p>
<p> Paragraph here. Paragraph here. Paragraph here. Paragraph here. Paragraph
here. Paragraph here. Paragraph here. Paragraph here. Paragraph here. Paragraph
here. Paragraph here. Paragraph here. Paragraph here. Paragraph here. Paragraph
here. Paragraph here. Paragraph here. Paragraph here. Paragraph here.</p>
</div>
</body>
</html>
and a thank you wouldn't go amiss either
Paul
From th w3c css validator:
Edit:
No error or warning found
To work as intended, your CSS style sheet needs a correct document parse tree. This means you should use
valid HTML.
Valid CSS information
- #left {
- float : left;
- width : 150px;
- background : red;
}
- * html #left {}
- #middle {
- margin-left : 150px;
- width : 400px;
- background : blue;
}
- * html #middle {}