CSS - Body/html Overflow Vs Div Overflow In Netscape And Opera
My CSS works in IE and Mozilla but not Netscape or Opera
I have a 2 column website, built with 2 relative position DIVs, with overflow set to auto. Because of this, I turned off overflow on the body tag and on the html tag (overflow: hidden;). I didn't want to have 2 scroll bars on the right side of the window. When I first tested this on 4 browsers, IE, Mozilla, Netscape and Opera, it worked great, only having one scroll bar on the right side of the window when the page was longer than the window height. But when I moved to a new host server recently, I discovered that Netscape and Opera stopped working. They now simply give me blank screens. When I remove the "overflow: hidden;" specifications from the body tag and the HTML tag in my CSS file, Netscape and Opera once again display my web pages. However, now I get 2 scrollbars on the right side of all 4 browsers (in IE, the second scrollbar isn't actually there, but the space holder for the scrollbar is there). Is there a cross browser way for doing what I'm trying to do? Or am I faced with detecting the browser type on the server-side, and setting the style sheet appropriately? Here are the related parts of my CSS: /* CSS styles */ BODY { font-family : Verdana, Arial, Helvetica, sans-serif ; font-size : 10pt; background : Black; color : White; margin: 0; padding: 0; border-width: 0; overflow: hidden; } HTML { overflow: hidden; } #LeftNavDIV { position:relative; width:185px; height:100%; float:left; padding:2px 0px 0px 0px; margin:0px 0px 0px 0px; border:1px solid white; overflow:auto; } #ContentDIV { position:relative; height:100%; width:75%; float:right; padding:0px 0px 0px 0px; margin:0px 0px 0px 0px; border:0px dashed #336699; overflow:auto; } Similar TutorialsJust curious if anyone has any resources that explain what type of overflow attributes Opera supports. I'm working on a site right now and see that in Opera "overflow: auto" is not supported. Is there a known work around? I am using Opera 9.25 Thanks! Hi Could someone tell me why the content is not showing in Netscape 7 please This is the site http://www.hardingscatering.co.uk/06/index.htm I have put an overflow property on the container div, so FF can show white as the bground colour. But when viewed in Netscape the content is not there and on other pages a scroll bar appears. I always have trouble with this, and would really like to know what I am doing wrong. Thanks for any help. what i'm trying to accomplish is two boxes next to each other inside a div, which i can scroll horizontally to see the two boxes. if you copy the code below it works correctly, only because the width of the parent div is set. Code: <style type="text/css"> #container { overflow:scroll; width:100px; } #parent { overflow:hidden; width:400px; } .box1 { border:1px solid black; float: left; height: 101px; width: 101px; } </style> <div id='container'> <div id='parent'> <div class='box1'></div> <div class='box1'></div> </div> </div> if i change width:900px in the parent div to width:auto then the boxes go underneath one another. That's the problem, the parent div should auto adjust to the width of both boxes. i'd really appreciate solving this. i can't have a fixed width on the parent div it should auto adjust and both boxes should be next to each other. Hi all, I'm working on the site http://boolarongpress.com.au and have hit a problem. In IE7 if you click into either the title or author search fields in the left hand nav menu the cpu usage maxes out and IE7 hangs. There is no javascript attached to these inputs. The problem seems to be caused by a line in the css, overflow: auto; This is set for the content div so that it scrolls as if it were a frame. If I remove this line from the css the problem dissappears but of course the content div no longer scrolls. Has anyone got any ideas on how I can fix/work around this issue? Cheers, Peter How do I make the DIV overflow in the below codes? It works in IE but not firefox. <html > <head> <style type="text/css"> html, body { height : 100%; } </style> </head> <body> <table style="height : 100%; width : 100%"> <tr style="height : 64px; background-color : Blue;"> <td></td> </tr> <tr style="height : auto; background-color : red;"> <td> <!-- THIS IS THE PROBLEM --> <div style="height :auto; overflow-y : scroll"> <!-- THIS IS THE PROBLEM --> asd<br /> asd<br /> asd<br /> asd<br /> asd<br /> asd<br /> asd<br /> asd<br /> asd<br /> asd<br /> asd<br /> asd<br /> asd<br /> asd<br /> asd<br /> asd<br /> asd<br /> asd<br /> asd<br /> asd<br /> asd<br /> asd<br /> asd<br /> asd<br /> asd<br /> asd<br /> asd<br /> asd<br /> asd<br /> asd<br /> </div> </td> </tr> <tr style="height : 64px; background-color : Blue;"> <td></td> </tr> </table> </body> </html> My page looks decent in Firefox but in IE the overflow property doesn't seem to be working. Perhaps you can give me some pointers as to which tags may be messing up the display in Internet Explorer. The link to the page in question. http://www.paulvincentgandolfi.com/blog/?page_id=123 Thanks hi, I have 3 DIV's, The first div is like a menu header DIV and the second DIV is the menu links and the third DIV has some information I want to click on the first DIV then show the second DIV like a menu problem is the third DIV moves down.. How can i let the second DIV overflow over the third DIV without it moving down? Thanks While working on my site, I am testing it in Mozilla Firefox 1.0pr and IE 6. In my code: body, td, iframe, table, div, tr { font-variant: small-caps; margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; color: #ffffff; background-color: #666666; scrollbar-3dlight-color: #666666; scrollbar-arrow-color: #666666; scrollbar-base-color: #666666; scrollbar-darkshadow-color: #666666; scrollbar-face-color: #666666; scrollbar-highlight-color: #666666; scrollbar-shadow-color: #666666; } a:link { color: #ffffff; text-decoration: none; } a:visited { text-decoration: none; color: #ffffff; } a:hover { text-decoration: none; color: #ff0000; } a:active { text-decoration: none; color: #ffffff; } select, option, textarea, input { border: #ffffff 1px solid; font-size: 11px; font-variation: normal; font-family: Verdana; background-color: #666666; } I would add "overflow: auto;" right under 'body, td, iframe, table, div, tr {' so that in Mozilla the scrollbars would not show up. However, when I load it in IE, the windows do not scroll at all. Is there a quick-fix for this, or what can I do so it will work properly in both browsers? this is the code i'm having problems with: Code: <style type="text/css"> body { font: normal 10px Verdana, Arial, Helvetica, sans-serif; color:#666; margin : 0; padding : 0; } /* text */ h1 { font: bold 10px Verdana, Arial, Helvetica, sans-serif; line-height:30px; } /* div classes */ div.row { position:relative; left:10px; width:326px; height:20px; z-index:1; margin-bottom:8px; text-align:right; } div.cell_title, div.cell_content { position:absolute; top:0px; float:left; padding:0px 0px 0px 8px; border:1px solid #E4E4E4; text-align:left; line-height:17px; } div.cell_title { background-color: #E4E4E4; left:0px; width:100px; z-index:2; } div.cell_content { background-color:#FCFCFC; left:100px; width:224px; z-index:3; } /* form elements */ .input { font: normal 10px Verdana, Arial, Helvetica, sans-serif; color:#666; background-color: #FCFCFC; height:15px; width:213px; border:0; } .textarea { font: normal 10px Verdana, Arial, Helvetica, sans-serif; color:#666; background-color: #FCFCFC; height:100px; width:213px; border:0; overflow:auto; } </style> <h1>Contact</h1> <form action="?menu=contact" method="post" name="contact"> <div class="row"> <div class="cell_title"><label for="name">name:</label></div> <div class="cell_content"><input type="text" class="input" name="name" id="name"/></div> </div> <div class="row"> <div class="cell_title"><label for="email">email:</label></div> <div class="cell_content"><input type="text" class="input" name="email" id="email" /></div> </div> <div class="row"> <div class="cell_title"><label for="message">message:</label></div> <div class="cell_content"><textarea class="textarea" name="message" id="message"></textarea></div> </div> <div class="row"> <input type="image" src="includes/images/btn_add.gif" name="Submit" value="Submit"> </div> </form> My problem is that my "row" div's overlay if their content is larger. Because of that i cannot see the send button from my form (the textarea height is bigger that the height of the "row" div - i need the layer to expland according to the content, but i don't want it to overlay on what is after it!). I hope that you understood my problem and could help my with it. Thanks in advance! I posted this by accident in the html forum , so im asking he I have this in my CSS page: Code: a.mainlevell:link, a.mainlevel:visited { display: block; color: #FFFFFF; font-weight: bold; text-decoration: none; font-family: Verdana, Helvetica, Arial, sans-serif; margin-bottom: 1px; font-size: 12px; } a.mainlevell:hover { color: #FFFF00; font-size: 12px; } And I use this style for four links: Code: <a href="mobile.html" class="mainlevell">Home</a> <a href="m_about.html" class="mainlevell">About Us</a> <a href="m_games.html" class="mainlevell">Games</a> <a href="m_links.html" class="mainlevell">Links</a> When viewing in IE, all the URL's using m_* in the file name works with the CSS; the one referencing mobile.html doesn't. However, putting an m_ in front of the mobile.html makes the link work. Why? This happens only in IE. firefox/opera/netscape/etc ; the links all show up fine and work as supposed to. However, I have a similar set up for another menu that does almost the same CSS as the above: Code: <table width="100%" border="0" cellspacing="2" cellpadding="3"> <tr> <td align="center" bgcolor="#990000"><img src="images/dmp_off.gif" name="home" width="14" height="14" id="home"></td> <td bgcolor="#990000"><a href="mobile.html" class="menulevel" onMouseOver="MM_swapImage('home','','images/dmp_on.gif',1)" onMouseOut="MM_swapImgRestore()">Home</a></td> </tr> <tr> <td width="18" align="center" bgcolor="#990000"><img src="images/dmp_off.gif" name="one" width="14" height="14" id="one"></td> <td bgcolor="#990000"><a href="m_blah.html" class="menulevel" onMouseOver="MM_swapImage('one','','images/dmp_on.gif',1)" onMouseOut="MM_swapImgRestore()">Blah</a></td> </tr> <tr> <td width="18" align="center" bgcolor="#990000"><img src="images/dmp_off.gif" name="two" width="14" height="14" id="two"></td> <td bgcolor="#990000"><a href="m_blah.html" class="menulevel" onMouseOver="MM_swapImage('two','','images/dmp_on.gif',1)" onMouseOut="MM_swapImgRestore()">Blah</a></td> </tr> <tr> <td width="18" align="center" bgcolor="#990000"><img src="images/dmp_off.gif" name="three" width="14" height="14" id="three"></td> <td bgcolor="#990000"><a href="m_blah.html" class="menulevel" onMouseOver="MM_swapImage('three','','images/dmp_on.gif',1)" onMouseOut="MM_swapImgRestore()">Blah</a></td> </tr> <tr> <td width="18" align="center" bgcolor="#990000"><img src="images/dmp_off.gif" name="four" width="14" height="14" id="four"></td> <td bgcolor="#990000"><a href="m_blah.html" class="menulevel" onMouseOver="MM_swapImage('four','','images/dmp_on.gif',1)" onMouseOut="MM_swapImgRestore()">Blah</a></td> </tr> <tr> <td width="18" align="center" bgcolor="#990000"><img src="images/dmp_off.gif" name="five" width="14" height="14" id="five"></td> <td bgcolor="#990000"><a href="m_blah.html" class="menulevel" onMouseOver="MM_swapImage('five','','images/dmp_on.gif',1)" onMouseOut="MM_swapImgRestore()">Blah</a></td> </tr> <tr> <td width="18" align="center" bgcolor="#990000"><img src="images/dmp_off.gif" name="six" width="14" height="14" id="six"></td> <td bgcolor="#990000"><a href="m_blah.html" class="menulevel" onMouseOver="MM_swapImage('six','','images/dmp_on.gif',1)" onMouseOut="MM_swapImgRestore()">Blah</a></td> </tr> </table> and this one works fine ( even with the mobile.html) #navList { background-color: #FF0000; height: 10px; overflow: none; width: 600px; float: left; line-height: 0px; } #navList li { float: left; cursor: pointer; overflow: none; } in every other browser the next div after the list touches navList, which contains images that are 42px high. in ie6, there are an extra 2 pixels. at first I put height: 42px; overflow: none, to see what would happen - and nothing did. i set it to 10 for kicks to see if the overflow would do anything at all and it's not. very confused today. Hello, I have overflow set to auto and it doesn't work in IE Mac. It works just right in all other bnrowsers that I've checked with, except IE 6 which adds the vertical scrolls when it shouldn't. I only want the horizontal scroll bar to show up. But, that's not as big an annoyance as the IE Mac, although, should you have a suggestion for that too, I'll take it. Scroll bars didn't work at all in IE 6 until I added a width to the <code> tag. The webpage is at www.huntacular.com and the css file is here What happens in IE Mac is that the contents of the div disappears when I try to set overflow: auto; I tried to set white-space: pre; as recommended at evolt, but no luck. On another note, is there any other way to resolve the vertical spacing in IE 6 other than using this solution which uses comments to retain the indentation so that the li elements don't need to span more than one line. If not, that's not too big a deal, just annoying. I hope someone can help, thanks. Can anyone give me a lead as to where to start fixing the job IE6 is displaying my website? It looks ok in IEmac, safari, firefox, opera and netscape. My style sheet validates, and the xhtml for the page is valid with exception of the php counter within the div on the side, yet I took that out and tested and the same results occurred in IE6. Any help is greatly appreciated. url = bluewebpages.com EDIT: side menu, with addition of 'height:15px' to the #side ul li a, should display fine when i upload the changed css file, but the posts still display out of whack... I currently have a drop down menu on a sidebar that when you roll over the buttons(each its own list item) a drop down menu appears over top of the buttons underneath the one your mouse is on. This works fine in Firefox of course but in IE the drop down menu goes underneath the other buttons. Any suggestions how to fix this? This is most likely a well documented problem, but I can't seem to find information on it. The site I'm building looks very nice in Firefox, but in IE6 my thumbnail gallery flows outside its container and overlaps everything and there is a scrool bar, but it does nothing. For pages with text inside the scroll, instead of the thumbs, it works fine. See it for yourself: http://brucethorn.com/php/index.php/paintings << bad http://brucethorn.com/php/index.php/resume << good Also, some odd but subtel things happen in Opera and the thumbsnails don't float right/borders cut off on one side/gaps etc, but it is not devistating. The filmunits(thumbs) are inside "scroll" which is inside "content." The relevant(I hope) CSS is below: div.scroll {height:344px; width:800px; margin:8px 0px 8px 0px; overflow:auto;} div.content {height:392px; width:800px; margin:auto; text-align:center;} #filmunit {height:128px; width:128px; border:4px solid black; margin:8px; float:left; position:relative; overflow:hidden;} #filmunit[id] {display:table; position:static;} #filmsub {position:absolute; top:50%;} #filmsub[id] {display:table-cell; vertical-align:middle; text-align:center; position:static;} #filmimage {position:relative; top:-50%;} #filmimage[id] {position:static; top:-50%;} Thank you! To my understanding, divs were block level elements, thus it should act like there is an auto <br> at the bottom of a div... but i am having an issue with my data flowing together... you can see it here... Overflowing Divs (Link) my CSS layout is... Code: <div class="pic-container"> <div class="main-container"> <div class="titleinfo"></div> <div class="infocontainer"></div> <div class="reviewpics"></div> </div> <div class="menu"></div> <div class="clear"></div> </div> the problem i sthat the "reviewpics" div is meshing with the "infocontainer" div... here is bits of the CSS.. Code: div.pic-container { margin: auto; margin-top: 10px; margin-bottom: 10px; background-image: url(../pic/bg30.jpg); background-repeat:repeat; width:760px; display:block; border:2px solid #000000; } .titleinfo { text-align:center; } .infocontainer { margin:20px 0px 0px 115px; } .menu { margin:20px 0px 0px 100px; position: } .clear { clear:both; display:block; height:1px; overflow:hidden; margin:0; padding:0; } .maincontainer { min-height:590px; } * html .maincontainer { height:590px; } form { height:10px; } .titleinfo { text-align:center; } tinyurl(dotcom)/6dw6jp4 Hi everyone I am a newbie here, Please have a look at the above link. The second box which has the therapist images and their names do not appear correctly on IE8. On all other browsers it seems to work fine. Can any one please have a look at the page and let me know a solutions. Thanks a lot. |