CSS - Box Height Problem In Safari
I have a table which has three rows of one cell each. I have specified the height of each cell by a class referring to an external stylesheet. There are two other classes which may be relevant, one in an internal stylesheet, and one referring to the same external stylesheet.
In Firefox and Internet Explorer 5.2 (the latest available for the Mac, as far as I know), these cells are displayed correctly, but in Safari, they cut off at the bottom of the text in the box, and are therefore not the correct height. Can anyone help me correct this, please? This is the code: Code: <STYLE TYPE="text/css" MEDIA=screen> <!-- .rbc { color: white; background-color: maroon; } --> </STYLE> <tr class="rb2"> <td class="rbc"> <div class="squash">some text<br /></div> <div class="squash">some more text<br /></div> <div class="squash">yet more text<br /></div> <div class="squash">guess what? some more text!<br /></div> </td> </tr> This is the CSS: Code: .rb2 { height: 133px; vertical-align: top; } .squash { line-height: 85%; } There are other differences, all with Internet Explorer not behaving properly, but I'll do one question at a time, or it'll get confusing! Thanks in advance. Similar TutorialsI've never done much CSS work, but I know this has to be an easy fix. Each DIV appears to be 10px higher when viewed in IE. I want them to be 8px high and they end up being 18px high. In Firefox, Netscape, and Opera it works fine. Anyone mind correcting this imbarrassing little problem? 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" xml:lang="en" > <head> <title>IE 10px Padding Problem</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <style type="text/css"> body { margin:0px; } #container { position:relative; margin:auto; width:730px; } #header { height:110px; } .textualtop { border:1px solid #000000; height:8px; } .textualbottom { border:1px solid #000000; height:8px; } </style> </head> <body> <div id="container"> <div id="header"></div> <div class="textualtop"></div> <div class="textualbottom"></div> <div class="textualtop"></div> <div class="textualbottom"></div> <p>Notice how in IE6 each DIV is 10px higher then in FF. Why is it doing this?</p> </div> </body> </html> Hi everyone, I am new to the forum. I am new to CSS and just trying to learn as much as i can as i go. I am currently working on a website and having a small problem with my drop down menus. It works great in Firefox, but in Safari when i hover over the drop down, it shifts to the left by a few pixels. I haven't added the IE workaround yet because i wanted to get this sorted before doing that so it won't work in IE yet. I would post a link but can't because i'm too new. I'm new to this, so be kind on my coding The code: Code: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Center test - "text-align: center" set for body, "text-align: left" for containing div</title> <style type="text/css" media="screen"> body { margin: 0; padding: 0; text-align: center; } div#container { width: 100%; background-color: #EAFBFF; width:760px; height:220px; text-align: left; margin-top: 0px; margin-right: auto; margin-bottom: 0px; margin-left: auto; border-top-width: thin; border-right-width: thin; border-bottom-width: thin; border-left-width: thin; border-top-style: none; border-right-style: solid; border-bottom-style: none; border-left-style: solid; border-top-color: #0066FF; border-right-color: #0066FF; border-bottom-color: #0066FF; border-left-color: #0066FF; } div#container2 { width: 760px; background-color: #ddd; width:760px; text-align: left; margin-top: 0px; margin-right: auto; margin-bottom: 0px; margin-left: auto; border-top-width: thin; border-right-width: thin; border-bottom-width: thin; border-left-width: thin; border-top-style: none; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #0033FF; border-right-color: #0033FF; border-bottom-color: #0033FF; border-left-color: #0033FF; padding-top: 15px; padding-bottom: 15px; } div#container3 { width: 760px; background-color: #666666; width:760px; text-align: left; margin-top: 0px; margin-right: auto; margin-bottom: 0px; margin-left: auto; border-top-width: thin; border-right-width: thin; border-bottom-width: thin; border-left-width: thin; border-top-style: none; border-right-style: solid; border-bottom-style: none; border-left-style: solid; border-top-color: #0033FF; border-right-color: #0033FF; border-bottom-color: #0033FF; border-left-color: #0033FF; padding-top: 13px; padding-bottom: 10px; } #container { } #Layer1 { position:absolute; width:760px; height:115px; z-index:1; left: 405px; top: 102px; background-color: #0000FF; overflow: scroll; } #container2 { } #Layer2 { position:relative; width:760px; height:600px; z-index:1; left: 405px; top: 102px; background-color: #0000FF; overflow: scroll; } #container4 { font-family: Arial, Helvetica, sans-serif; width: 500px; font-size: 14px; font-style: normal; color: #DDDDDD; text-decoration: none; text-align: left; margin-right: 110px; margin-left: 125px; background-color: #999999; border: thin solid #999999; padding-left: 15px; } #Layer3 { position:relative; width:200px; height:600px; z-index:1; left: 405px; top: 102px; background-color: #0000FF; overflow: scroll; } .style1 { font-family: Arial, Helvetica, sans-serif; font-size: 10px; } .style2 { font-family: Arial, Helvetica, sans-serif; color: #FFFFFF; } #navbar { font-family: Arial, Helvetica, sans-serif; font-size: 12px; color: #FFFFFF; text-decoration: none; background-color: #666666; margin: 0px; padding: 0px; height: 20px; } #navbar ul { padding: 0; margin: 0; list-style: none; } #navbar li { float: left; text-align: center; background-color: #666666; position: relative; width: 130px; } #navbar li ul{ position: absolute; display: none; text-align: center; line-height: 25px; padding-top: 7px; } #navbar li > ul { top: auto; left: auto; } #navbar li:hover ul { display:block; text-align: center; text-indent: 0; } #content { clear: left; } #mainphoto { padding: 0px; float: right; border: 1px solid #0066FF; margin-top: 20px; margin-right: 30px; margin-bottom: 30px; margin-left: 30px; } #container6 { font-family: Arial, Helvetica, sans-serif; font-size: 12px; color: #000000; text-decoration: none; padding-right: 30px; padding-left: 30px; } .style3 { font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bold; color: #000000; } .style4 {color: #000000} .style5 {font-family: Arial, Helvetica, sans-serif; font-size: 10px; color: #FFFFFF; } a { font-size: 12px; color: #FFFFFF; } a:link { text-decoration: none; } a:visited { text-decoration: none; color: #FFFFFF; } a:hover { text-decoration: none; color: #CC6600; } a:active { text-decoration: none; color: #CCCCCC; } </style> </head> <body> <div id="container"> <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="(URL address blocked: See forum rules)=7,0,19,0" width="760" height="220"> <param name="movie" value="(URL address blocked: See forum rules)"> <param name="quality" value="high"> <embed src="(URL address blocked: See forum rules)" quality="high" pluginspage="(URL address blocked: See forum rules)" type="application/x-shockwave-flash" width="760" height="220"></embed> </object> </div> <div class="style2" id="container3"> <div id="navbar"> <ul> <li><a href="(URL address blocked: See forum rules)">Home</a></li> <li>About the Office <ul> <li><a href="">Meet Dr. Toolson </a></li> <li><a href="">Meet the Team</a></li> <li><a href="">Office Tour</a></li> <li><a href="">Location</a></li> </ul> </li> <li>About Orthodontics <ul> <li><a href="">Adults</a></li> <li><a href="">Children</a></li> </ul> </li> <li>Life with Braces</li> <li>Contact Us <ul> <li><a href="">Contact Information</a></li> <li><a href="">Request Appointment</a></li> <li><a href="">Location</a></li> </ul> </li> </ul> </div> </div> <div id="container2"> <div id="container4"> <p class="style3">Contact Information Form</p> <form action="(URL address blocked: See forum rules)" method="post" class="style4"> <span class="style1"> <label>Name <br> <input type="text" name="Name"> </label> </span> <span class="style1"> <br> <br> <label>Email <br> <input type="text" name="Email Address"> </label> </span> <span class="style1"> <br> <br> <label>Phone Number <br> <input type="text" name="Phone Number"> </label> </span> <span class="style5"> <br> <br> <label><span class="style4">Description (if neccessary)</span> </label> </span> <span class="style4"> </span> <label><br> <textarea name="Description" rows="5"></textarea> </label> <label> <br><br> <input name="Submit" type="submit" class="style1" value="Submit"> </label> <label> <input name="Reset" type="reset" class="style1" id="Reset" value="Reset"> </label> <input name="recipient" type="hidden" id="recipient" value="jeff@dinorestoration.com"> <input name="redirect" type="hidden" id="redirect" value="(URL address blocked: See forum rules)"> </form> </div> </div> <div class="style1"> Copyright Toolson Orthodontics 2009 </div> <p> </p> </body> </html> Was hoping someone could help me with a problem I'm having with margins on this site robertehowarddirectory.com/viewcat.php?category=Art In safari, the margins between each of the "featured" listings is 30px when it should be 8 (4 on the top of each listing, and 4 on the bottom). This jacks up the layout of the site, pushing the featured listings too low, as you can see. IN IE 7, 8 and Firefox, I have no problems, and the site displays fine. Would appreciate any help on this issue, as I've been trying to solve the problem but have not found a solution. Thank you. Currently my site, http://www.kasiaozga.com , works correctly in Firefox on mac and Windows and in ie for mac and Windows. However, in Safari, the mid section of the navigation bar on the main page (index.html) appears incorrectly on the page. I would really appreciate it if any Safari users could take a look at the page and recommend a solution to enable the page to display correctly. Thanks! -Kasia Hey everyone, I have a site I'm working on for a charity hosted he apoctrack . com/craftsforacause I'm using Dreamweaver and the included Spry framework to render the tabs, and everything seems to be working fine in Firefox, but the background won't render correctly in Safari. Help!? The stylesheet is he url above with /index.css An older version of the site worked fine in both Safari and Firefox, and I've compared the code but found nothing... The old site is he url above /index_classic.html and /index_classic.css Any help would be appreciated! Thx in advance... Well... sorry about the poorly formatted url but the anti-spam rules seem to mean I must post 5 useless posts in order to post anything of substance (with a url). So yeah. I did a diff on the stylesheets but that's hard to post here, so I can try if it'd be useful. Prolly easier to run it urself it it'd be helpful. Nothing useful came up when I tried it. Same for the html pages themselves. Hi - I'm relatively new to using CSS, so please bear with me. I've attempted to put an imagemap on my homepage using CSS. There is a main background image and there are a bunch of tiny images that are hidden, but then appear over the top of the main image when you move the mouse over them. You can view the page online - it's the main homepage of my website: www (dot) midwood (dot) net (It's the page w/ the mountain background, etc). This HTML and CSS are both valid according to W3.org. The code works fine (as expected) on both IE6 and Firefox. If you want to see the effect I'm looking for, use one of those browsers and you'll get the idea. The problem I'm running into is that it doesn't work in Safari. The tiny images do show up in the right place when you roll over the correct spot, but they are not initially hidden (as they are in IE or FF). I'd appreciate it if somebody with more CSS knowledge than me took a look at my code for the homepage . Is there anything obvious I'm doing wrong that is causing it not to work in Safari? Or is it just a Safari rendering bug? If it is a bug in Safari's rendering, is there a workaround so that I can get the desired effect on all three browsers? Thanks. Howdy! I'm using the Jello mold layout from P.I.E. and I have it working GREAT on a couple other projects with no real issues (with Safari or anything else for that matter), but I do have a problem in this one project. take a look he http://pnlab.soundwebdev.com/changetheme-xSixteen.phtml Now - there are a few other issues, but the one I am focussing on here is that Safari is basically completely non-functional on the main (right) column. I can't click the links, I can't select the text - its like there is a transparent layer over the top of everything on the right - but only in safari. This (oddly enough) works great in IE and even firefox! Obviously, there is only one way for you see the issue and that is to view the page in Safari (I'm using 2.0 - 412.2, btw). So, screenshots or visiting the page from any other browser won't help. Thanks in advance if you can help! hi all, having a problem with browser compatibility here... 3 lousy pixels makes the difference between one of my divs being knocked to another row in safari, vs. a perfect lineup in IE. have a look: http://www.offsitedbs.com the column at the bottom entitled "security" is a big div that gets knocked to another row in safari if i try to have it line up perfectly in IE (pc)... BUT, if i knock the width back a few pixels to line it up in safari, it's not flush in IE. code for the divs: <div class='bottomDiv'> <div class='bottomTitle'><img src="IMAGES/arrow.gif">Remote Services</div> <p class='bottomDesc'>Offsite Database Administration and Offsite Server Management.</p> <p class='bottomText'>At Offsite DBA Services we focus ... any potential problem.</p> </div> <div class="bottomDiv"> <div class='bottomTitle'><img src="IMAGES/arrow.gif">Onsite Services</div> <p class='bottomDesc'>OffSite offers a free comprehensive report on the state of your database at no extra cost to your company.</p> <p class='bottomText'>We take ... its optimal level.<br></p> </div> <div class="bottomDiv"> <div class='bottomTitle'><img src="IMAGES/arrow.gif">Security</div> <p class='bottomDesc'>Offsite DBA Services uses the latest SSL technologies to manage your database through secure connections and proven technologies.</p> <p class='bottomText'>Network technologies ... from snoops.<br></p> </div> and the css for the 'bottomdiv's: .bottomDiv { background-color: #F0F0F0; height: 262px; width: 193px; float: left; border-left: solid 1px #FFF; border-bottom: solid 1px #FFF; background-image:url(../IMAGES/bottomBG.gif); background-repeat:repeat-x; background-position:bottom; border-top: solid 1px #FFF; padding: 0px; vertical-align: top; } any & all help is very appreciated! thanks, nunzio Hi guys.. I have a script that spits out a series of divs.. The first 'wrapper' Div is position:relative, and I have placed other divs inside it, positioning them using position: absolute; left: 20px, etc... It renders perfectly on all my tested browsers, and yet when I make the script repeat, so that each div-set is loaded from the database, they just stack on top of each other on the page, rather than underneath each other.. All I am really doing is stacking divs, I thought that whatever went on in the 'child' divs didnt affect the parents ?? Like so: Code: <div style="position: relative;"> <div style="position: absolute; left: 20px; top: 40px;"> some content </div> <div style="position: absolute; left: 150px; top: 40px;"> other content </div> </div> Ive tried setting things like display: block;, clear: both, etc, but the sets of divs just 'pile' on top of each other... Any ideas :/ Many thanks, Mike. So, here's what I've got: http://www.anthonycarboni.com The header is supposed to appear 50 pixels high, flush with the top (no margins), with the header text middle aligned inside of it. This is working in IE 6 and 7, but is not working well in FF (mac/pc) or in Safari. Here is all code that pertains to that section. It is sure to be woefully poor, as I'm just getting into CSS: Code: body { color: #FFFFFF; background-color: #000000; font-family: 'ArialMT', 'Arial', sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: 0; line-height: 19px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; opacity: 1.00; padding-bottom: 0px; padding-top: 0px; text-align: center; text-decoration: none; text-indent: 0px; text-transform: none; min-width: 800px; } .main{ background-color: #202020; width: 800px; margin-left: auto; margin-right: auto; text-align: left; } .header{ height: 50px; background-image: url('images/header.jpg'); background-repeat: repeat; } p.headline { font-size: 32px; font-weight: bold; text-transform: uppercase; text-align: center; letter-spacing: 0.8em; vertical-align: middle; } And there you have it. I'm tearing my hair out over what I'm sure is some small thing that anyone with experience would notice immediately. Any help would be greatly appreciated. Thanks! I am trying to get a 2 column layout to work across all browsers and I ran into a strange problem with center in Safari (or what Safari looks like according to the screenshot at http://www.snugtech.com/safaritest/) The page aligns correctly in my version of IE and Firefox. What I want to happen is for the table to center in the content div "image_block." In Safari the table is centering inside the container div "container" and sometimes behind the float right div "thumb_block." you can see it live at link here is the code Code: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>images</title> <BASE href="http://jasonhalac.com/picture_gallery/"> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link href="/imagerollover.css" rel="stylesheet" type="text/css"> <link href="images.css" rel="stylesheet" type="text/css"> </head> <body"> <div id="top_image"> </div> <div align="left" id="list_tabs">header content</div> <div id="container"> <div id="thumb_block"> thumb block float right fixed width thumb block float right fixed widththumb block float right fixed widththumb block float right fixed widththumb block float right fixed widththumb block float right fixed widththumb block float right fixed widththumb block float right fixed widththumb block float right fixed widththumb block float right fixed widththumb block float right fixed widththumb block float right fixed width widththumb block float right fixed widththumb block float right fixed widththumb block float right fixed width widththumb block float right fixed widththumb block float right fixed widththumb block float right fixed width widththumb block float right fixed widththumb block float right fixed widththumb block float right fixed width widththumb block float right fixed widththumb block float right fixed widththumb block float right fixed width</div> <div id="image_block"> <p>image block image block image block image block image block image block image block image block image block image block image block image block image block image block image block image block image block image block image block image block image block image block image block image block image block image block image block image block image block image block</p> <table width="200" border="1" align="center"> <tr> <td> </td> <td> </td> <td> </td> </tr> <tr> <td> </td> <td>test</td> <td> </td> </tr> <tr> <td> </td> <td> </td> <td> </td> </tr> </table> <p> image block image block image block image block image block image block image block image block image block image block image block image block image block image block image block image block image block image block image block image block image block image block image block image block image block image block image block image block image block image block image block image block image block image blockimage blockimage blockimage blockimage blockimage blockimage blockimage blockimage blockimage blockimage blockimage blockimage blockimage blockimage blockimage blockimage blockimage blockimage blockimage blockimage blockimage blockimage blockimage blockimage blockimage blockimage block</p> </div> </div> <div id="tipDiv" style="position:absolute; visibility:hidden; z-index:100"></div> </body> </html> and css Code: #container{ margin: 0px; border: 0px; height: 600px; width: 915px; } #thumb_block{ width: 310px; margin: 0px; padding: 0px; float: right; } #image_block{ margin: 0px; padding: 15px 0px 0px 0px; } Hopefully someone can help. I can't seem to get a div to have 100% height to work properly across all browsers. http://dis.emsix.com/default.asp The outermost div (with the gray side borders) is supposed to stretch the page length. I've made some minor fixes to get it to work in IE6 & 7, but it doesn't work in Safari of Mac FF (PC FF is fine). Any help with or insight on this would be great! Thanks in advance. the html: Code: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link href="aoms.css" rel="stylesheet" type="text/css"> </head> <body> <div id="container"> <div id="header"> d </div> <div id="nav"> d </div> <div id="contentTop"> d </div> <div id="content"> d </div> <div id="contentBottom"> d </div> </div> </body> </html> the css: Code: body{ margin:5px 5px 5px 5px; padding:0px 0px 0px 0px; height:100%; } #container{ min-width:800px; max-width:800px; width:800px; min-height:100%; max-height:100%; height:100%; background-color:#ffffff; } #header{ background-image:url('images/header.jpg'); background-repeat:no-repeat; min-height:124px; max-height:124px; height:124px; padding:0px 0px 5px 0px; } #nav{ background-image:url('images/nav.gif'); background-repeat:no-repeat; min-height:30px; max-height:30px; height:30px; padding:0px 0px 5px 0px; } #contentTop{ background-image:url('images/contentTop.gif'); background-repeat:no-repeat; min-height:28px; max-height:28px; height:28px; padding:0px 0px 0px 0px; } #content{ background-color:#A1A1A1; min-height:400px; max-height:100%; height:100%; } #contentBottom{ background-image:url('images/contentBottom.gif'); background-repeat:no-repeat; min-height:28px; max-height:28px; height:28px; padding:0px 0px 0px 0px; } the problem 'FF': 'container' is not stretching to 100% height, its only as big as the other divs stretch and in IE its more than 100%? hope you can understand that. Shem hi, I would like my #leftNav to have 100% height and fit the hiehgt of its container. After looking into it I found that the parent has to have 100% also, and body and html My problem is that in IE, it works but leaves a ridiculous amount of white space under the bottom of the site. And in FF it #leftNav does not go 100% height but still has some white space under the bottom of the site (meaning u can scroll down but its just white) see it here so heres my css: PHP Code: html { height: 100%; } body { margin: 0; padding: 20px 0 0 0; color: #000; font-size: 12px; font-family: times; background: #fff; height: 100%; } #container { height: 100%; margin:0px auto; padding: 0; width: 760px; display: table; } #content { margin:0px auto; padding: 0; width: 760px; height: 100%; } #contentMain { padding: 0; margin: 0; float: right; width: 632px; height: 100%; } #leftNav { color: #000; float: left; margin: 0; padding: 0; width: 128px; height: 100%; } thank you I've been browsing the web for a while now and all I can find are issues relating to people being unable to get their divs to span the whole viewport, but I'm having the opposite problem. I just want this div to span the distance of the content inside it, but at 100% height. This is just an experimentation of mine. I'm trying to get a div to go from 0% height to 100% height, but that 100% height I only want to be the 100% height of the content in this div, and not the entire content. What attributes need to be set for 100% of this div to be just the intrinsic height? thanks~ Problem fixed... I'm stupid... a moderator can delete this... here is my style sheet.....simplified, so i can figure out the problem before i get too deep: body { margin:0; padding:0; height:100%; } #container{ height: 100%; width: 750px; margin: 0 auto; } #left_col{ height: auto; width: 200px; float:left; } #right_col{ width: 550px; height: auto; float:left; } and my page very very simplified: <body> <div id="container"> <div id="left_col">content </div> <div id="right_col"> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> </div> </div> </body> Problem is that the right column will stretch down to accommodate the text, but the left column will not....nor will the container.. how can i get the left_col or container to stretch when the right_col stretches...??? It works in IE6 and IE7 but not Fire Fox... |