473,382 Members | 1,639 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,382 software developers and data experts.

IE makes a pig's breakfast out of my page!! Any ideas why?

Hello,

Without wishing to get the obvious "IE is rubbish" response, could
anyone tell me why IE makes such a mess of the page linked below?

The HTML and CSS validate, and Firefox and Opera display it fine. IE
doesn't ;-)

The problem seems to be the width of the #pagebody div. If I set it to
an absolute value (in pixels or percentage), then IE shows it fine. What
I really want is to allow the div to expand to fill the width of the
browser, but use max-width to keep it from getting too wide.

I got around the problem by doing this...

#pagebody {
width: 90%;
}
div[id="pagebody"] {
width: 99% !important;
max-width: 1100px;
}

.... but I don't really like relying on the sort of thing and would
prefer to see if there is a way of doing it properly.

TIA for any help and advice.

http://www.kidsinaction.org.uk/iebarf.html

--
Alan Silver
(anything added below this line is nothing to do with me)
May 17 '06 #1
11 1262
Alan Silver wrote:
Without wishing to get the obvious "IE is rubbish" response, could
anyone tell me why IE makes such a mess of the page linked below?

The HTML and CSS validate, and Firefox and Opera display it fine. IE
doesn't ;-)


IE doesn't understand position: absolute (or fixed?)
Why do you need those?

--
-bts
-Warning: I brake for lawn deer
May 17 '06 #2
In article <O2********************@bgtnsc04-news.ops.worldnet.att.net>,
Beauregard T. Shagnasty <a.*********@example.invalid> writes
Alan Silver wrote:
Without wishing to get the obvious "IE is rubbish" response, could
anyone tell me why IE makes such a mess of the page linked below?

The HTML and CSS validate, and Firefox and Opera display it fine. IE
doesn't ;-)
IE doesn't understand position: absolute (or fixed?)


Are you sure? I've used these before with IE and not had this sort of
problem. I know it doesn't understand fixed, but I'm absolutely sure it
understands absolute (as much as IE understands any CSS).
Why do you need those?


Because I want the masthead to appear below the content in the HTML, but
I want it to be displayed at the top of the page. Is there a better way
of doing this?

Ta ra

--
Alan Silver
(anything added below this line is nothing to do with me)
May 17 '06 #3
"Beauregard T. Shagnasty" <a.*********@example.invalid> wrote:
IE doesn't understand position: absolute
Beeshit
(or fixed?)


IE =< 6 doesn't support fixed

--
Spartanicus
May 17 '06 #4
Spartanicus wrote:
"Beauregard T. Shagnasty" <a.*********@example.invalid> wrote:
IE doesn't understand position: absolute


Beeshit
(or fixed?)


IE =< 6 doesn't support fixed


Well, I knew it was one of them ... :-)

--
-bts
-Warning: I brake for lawn deer
May 17 '06 #5
Once upon a time *Alan Silver* wrote:
Hello,

Without wishing to get the obvious "IE is rubbish" response, could
anyone tell me why IE makes such a mess of the page linked below?

The HTML and CSS validate, and Firefox and Opera display it fine. IE
doesn't ;-)

The problem seems to be the width of the #pagebody div. If I set it
to an absolute value (in pixels or percentage), then IE shows it
fine. What I really want is to allow the div to expand to fill the
width of the browser, but use max-width to keep it from getting too
wide.

I got around the problem by doing this...

#pagebody { width: 90%; } div[id="pagebody"] { width: 99% !important;
max-width: 1100px; }

... but I don't really like relying on the sort of thing and would
prefer to see if there is a way of doing it properly.

TIA for any help and advice.

http://www.kidsinaction.org.uk/iebarf.html


Why do you have set "float: left;" for the #pagecontent?

If you remove that, IE will show the header on the right spot. I belive
IE interpret the fact that you have the id="header" placed belowe the
id="pagecontnet" in the source, as it should be on the right since
id="pagecontent" is floated.

But you need to add/change paddings to ge the space above the content
header.

--
/Arne

Proud User of SeaMonkey. Get your free copy:
http://www.mozilla.org/projects/seamonkey/
May 17 '06 #6
In article <4d*************@individual.net>, Arne
<in*****@domain.invalid> writes
http://www.kidsinaction.org.uk/iebarf.html
Why do you have set "float: left;" for the #pagecontent?


Because in the full version of this page (this is a stripped down
sample), there are two more divs to be floated next to it, giving three
columns.
If you remove that, IE will show the header on the right spot.
You are right!! Trouble is, I need to float this div so that I can
position it next to the other two (not in this sample).

I suppose I could place all three divs in a wrapper div, but that is
adding extra markup for no semantic purpose. Isn't there a better way?
I belive IE interpret the fact that you have the id="header" placed
belowe the id="pagecontnet" in the source, as it should be on the right
since id="pagecontent" is floated.
Fair enough, except for the fact that #header is not floated, nor is it
in the document's flow. It's absolutely positioned, so should be placed
relative to its parent container, which in this case is #pagebody. IE
gets this completely wrong. It's supposed to place it absolutely at the
top left of the parent container, with a width of 100%. IE places to the
right of its parent, but not completely clear of it, leaving a small
overlap.
But you need to add/change paddings to ge the space above the content
header.


Huh? Don't understand what you mean here. Please clarify.

Thanks for the reply, any further help appreciated.

--
Alan Silver
(anything added below this line is nothing to do with me)
May 18 '06 #7
In article <4d*************@individual.net>, Arne
<in*****@domain.invalid> writes
Why do you have set "float: left;" for the #pagecontent?


OK, since posting my reply, I have added an extra div to hold the
#pagecontent and the other two divs that will go in there. I added one
of the two others to see how it worked, but IE now does different stupid
things with it!!

If you look at http://www.kidsinaction.org.uk/iebarf2.html in a decent
browser, you'll see a basic layout with content on the left and links on
the right. Look at it in IE, and you won't see the content, nor the
links. If you watch carefully when you load the page, you see a quick
flash of them, but then they disappear. The IE developers' toolbar shows
me that IE is positioning them correctly, but it's not showing them
right.

Any ideas? Thanks again

--
Alan Silver
(anything added below this line is nothing to do with me)
May 18 '06 #8
> If you watch carefully when you load the page, you see a quick
flash of them, but then they disappear. The IE developers' toolbar shows
me that IE is positioning them correctly, but it's not showing them
right.
Probably PekaBoo-bug, don't use too much floats, or float in ...
inapropriate (for IE) areas. This is the most enerving bug I ever found
in IE. You think you can rely on CSS1 and setup nice floating stuff,
and in the end it all disappears.
Sometimes you can fix it by 'position: relative' (which does nothing
at all in other browsers, as long as you don't give coordinates). But I
also had cases where even that failed (20+ floats, ~10 clears).
A not for the width you may want to give to IE but not to others, the
equivalent of 'max-width' in IE is 'width', that has an alias '_width',
doesn't validate as CSS but works. Put it in conditional contents if
you like.
Any ideas? Thanks again
Make two versions of your page, the IE-version looks terrible, bad,
usability breaks completely, then put a screen-shot of a
<better-browser-here> on the IE-version and say how much IE sucks and
they should download <better-browser-here>. ;)
No, seriously, go to Meditation-Groups, there is nothing you can do,
so stay calm.
Alan Silver


Ciao
Niels

May 18 '06 #9
In article <11*********************@y43g2000cwc.googlegroups. com>,
ni*************@seies.de writes
If you watch carefully when you load the page, you see a quick
flash of them, but then they disappear. The IE developers' toolbar shows
me that IE is positioning them correctly, but it's not showing them
right.
Probably PekaBoo-bug

<snip>

Yup, that was it. Thanks for the heads-up.
Sometimes you can fix it by 'position: relative' <snip>

Phew, that worked!! I'm glad I didn't have to do anything more than
that, I get all nervous when I get into the realms of hacks and tricks.
This was innocuous enough for even me!!
Any ideas? Thanks again


Make two versions of your page, the IE-version looks terrible, bad,
usability breaks completely, then put a screen-shot of a
<better-browser-here> on the IE-version and say how much IE sucks and
they should download <better-browser-here>. ;)


<g>
I wish it were that simple!!
No, seriously, go to Meditation-Groups, there is nothing you can do,
so stay calm.


Oh I'm calm, I have a pleasant and soothing background on my computer,
and some pleasant and soothing music playing!!

Thanks for the reply.

--
Alan Silver
(anything added below this line is nothing to do with me)
May 18 '06 #10
Alan Silver wrote:

If you look at http://www.kidsinaction.org.uk/iebarf2.html in a decent
browser, you'll see a basic layout with content on the left and links on
the right. Look at it in IE, and you won't see the content, nor the
links. If you watch carefully when you load the page, you see a quick
flash of them, but then they disappear. The IE developers' toolbar shows
me that IE is positioning them correctly, but it's not showing them
right.

It's a stacking problem. If you remove the background color from
#pagecontent, you will see the floated elements.
Or just remove "position:relative" from #pagecontent.

--
jmm (hyphen) list (at) sohnen-moe (dot) com
(Remove .AXSPAMGN for email)
May 19 '06 #11
In article <Ut******************************@giganews.com>, Jim Moe
<jm***************@sohnen-moe.com> writes
Alan Silver wrote:

If you look at http://www.kidsinaction.org.uk/iebarf2.html in a decent
browser, you'll see a basic layout with content on the left and links on
the right. Look at it in IE, and you won't see the content, nor the
links. If you watch carefully when you load the page, you see a quick
flash of them, but then they disappear. The IE developers' toolbar shows
me that IE is positioning them correctly, but it's not showing them
right.

It's a stacking problem. If you remove the background color from
#pagecontent, you will see the floated elements.
Or just remove "position:relative" from #pagecontent.


Not sure how it's a stacking problem as the page content should be the
topmost element, so it's content should be on top. Also, I can't remove
the "position:relative" as that is used to create a positioning context
for some absolutely positioned elements inside.

It turned out to be the peekaboo bug, and adding some
"position:relative" bits fixed it. Thanks anyway.

--
Alan Silver
(anything added below this line is nothing to do with me)
May 22 '06 #12

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

32
by: Howard Kaikow | last post by:
I often come upon web pages that do not allow themselves to be saved as a ..html file (complete), but do allow themselves to be saved as .mht files. In some cases, I find that there is no way to...
4
by: Sara T. | last post by:
Do we have the way to run my web page at the first times that is not SLOW ? I realize that comes from compiling to machine code at the first times. But there could have some way to recompile...
12
by: VB Programmer | last post by:
I know some sites will display the following message if you click on the BACK button in your browser. How do I implement this feature? Warning: Page has Expired The page you requested was...
3
by: Guogang | last post by:
In a .aspx web page, I created a button that will do a postback What I want to do: let the button do postback, and process the postback data in my code behind, but the client side's page won't be...
2
by: macyp | last post by:
I have to pass values from one aspx page to another. The controls I have in the first page are: a textbox, 3 drop down lists, and 2 check boxes, and a submit button. It is a search page, and the...
9
by: Alan Silver | last post by:
Hello, From my limited experience with ASP.NET (couple of weeks so far, much time wasted with stupid book), you can only have one form per page. If so, how do you handle the scenario where you...
2
by: Gummy | last post by:
Hello, I have a user control that has radio buttons and a listbox. This user control is repeated several time on my webpage. What I want to do is alert the main page that the radio buttons...
4
by: Anna S | last post by:
Hi all, I have an aspx page that opens with some parameter (mypage.aspx?idclient=1). Next, I have a dropdown list on this page that lets select the new value of parameter idclient. Than I just...
3
by: Emil Horowitz | last post by:
Hi, if I wish to just execute JavaScript by clicking on a link, I do not have an alternativ to entering "#" as the URL. But this makes a scrolled page jump to its start. As far as I remember...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
by: ryjfgjl | last post by:
In our work, we often need to import Excel data into databases (such as MySQL, SQL Server, Oracle) for data analysis and processing. Usually, we use database tools like Navicat or the Excel import...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.