Mark Lundquist wrote:
> [...]

> Something along those lines?

Guess one _can_ describe IE's behavior that way, but your understanding
of this 'auto-expansion' bug is still too weak to leave it at that.

Both the bug and the fix are complex - and neither makes no sense
outside IE6, so the following description will be just as complex and
"sense-less" :-)


1: IE6 does *not* treat 'width' as 'min-width' in any real sense, so
'width' can't be used as a substitute for 'min-width' in that bugger.

Part of IE6' problem is that it doesn't treat 'overflow: visible'
(default or declared) at all. IE6 can't overflow properly.
IE6 treats _all_ elements as if they were _partly_ under HTML table
rules, where 'width' *is* and should be treated as 'min-width' and where
'overflow' is ignored.

2: IE6 *does* treat 'width' under conditions like yours as: "you can't
be serious - the content doesn't fit so I'm going to ignore you".
You'll see that - completely unlike 'min-width' in a good browser - the
otherwise normal-width content inside an 'auto-expanded' container
doesn't fill the extra width provided by the bug, so it's only the
'auto-expanded' container itself that has become too wide.



So, we have basically these options:
a} make IE6 respect given 'width' by adding 'overflow: hidden' or
'overflow-x: hidden' on the container. This will make IE6 respect
'width', but the overflowing parts of "too wide" children will of course
be hidden and we will have to make them visible again.

b) make the "too wide" child be narrow enough not to create a
"pushing-effect". This works fine, but restricts what we can put into
that child and how we want it to appear.

c) make the "too wide" child _appear to be_ narrow enough not to create
a "pushing-effect". All browsers are calculating the horizontal
width-space needed for or occupied by an element based on where its
outer margins are. Thus, if we "pull back" the 'backside margin', the
element will take up less space.

----

I used a variant of c), but it's one that only works because IE6 is
buggy and other browsers respect 'width' on the container regardless of
what I do to its children. I could therefore "pull back" the right
margin on the relative-positioned #footer and get the effect I wanted in
IE6.


I mentioned that the whole thing "makes no sense", didn't I :-)
You can read more about IE6' 'auto-expansion' bug here...

<http://www.positioniseverything.net/explorer/expandingboxbug.html>

...and then you can try to figure out how wide IE6 thinks the sloping
line of "dead herrings" is in this page...

<http://www.gunlaug.no/contents/molly_1_06.html>

The essential CSS parts of that sloped line is in the page-head, and you
should make the browser-window /really/ narrow to see the slope extend
beyond both sides of the center-column, and even beyond the entire page.


regards
        Georg
-- 
http://www.gunlaug.no
______________________________________________________________________
css-discuss [EMAIL PROTECTED]
http://www.css-discuss.org/mailman/listinfo/css-d
IE7 information -- http://css-discuss.incutio.com/?page=IE7
List wiki/FAQ -- http://css-discuss.incutio.com/
Supported by evolt.org -- http://www.evolt.org/help_support_evolt/

Reply via email to