Column width in IE7 and Safari 5/OSX too narrow - css

If you check out the site below in Safari 5/OSX or IE7/Win, the right bottom column starting with "Stay Updated" (#secondary) is super-narrow.
In the CSS it's set to the same width as the "column" directly above it, #socialsidebar. Instead of being 31.6667% of the total width of the page I think it might be rendering as 31.6667% of #socialsidebar.
http://216.172.167.18/~julia/books/
The width is correct in every other modern browser. Any ideas why this would be happening for Safari 5/OSX and IE7/Win and how to fix it?
Thank you for your help!

Using the IE developer toolbar and setting a width of 100% to #secondary seems to fix this. I would recommend setting up a seperate IE7 stylesheet the same way you setup custom classes on your <html> tag:
<!--[if IE 7 ]>
<link rel="stylesheet" type="text/css" media="all" href="ie7.css">
<![endif]-->
or
<!--[if IE 7 ]>
<script type="text/css>
enter code here
</script>
<![endif]-->
As to why exactly it's happening, IE7 has some weird display quirks to it. I rarely dig deep enough to figure out what's exactly going on, as I prefer to spend as little time with it as possible.
A possible resource: http://www.satzansatz.de/cssd/onhavinglayout.html

I was missing a close-div for the #socialsidebar div. D'OH. Thanks to everyone else who got sucked into my web of stupidity and took the time to look at this. :)

Related

IE8 floats incorrectly showing margin

My page is at http://jerswebempire.com/ovrtur/index.php
The page displays nearly perfectly in all browsers except IE8. In IE8, floated divs have incorrect margins. For example, you'll see the search bar at the top is sitting underneath the nav. However, if you open the page in Chrome or Firefox or IE9, it's displaying in the correct spot.
What am I doing wrong?! I can't seem to find a fix.
Also, the box for Latest Video is in two columns in all browsers but IE8. It's similar to the above problem where there is a left margin added that shouldn't be there.
The page was built with Bootstrap.
Any help would be appreciated.
Use ie conditionals between your index
<html> </html>
add a class to for the 'ie 8 only' margins like the html boilerplate does.
Load a custom ie 8 only stylesheet and play with the margin problem there like this:
<!--[if IE 8]><link rel="stylesheet" type="text/css" href="ie8-only.css" /> <![endif]-->
Or load a class where you need it.
<!--[if IE 8]><html class="ie8 lt-ie9"> <![endif]-->
Apply the ie conditional class to whatever you need.
<div class="floatedDiv ie8"
CSS
.ie8 { margin:0px; }
I can't debug on ie8 but I searched and found that there is in fact a negative margin bug on ie7/8.
They recommend using
zoom:1, position: relative
as a workaround.

ie9 spacing - css not working as it should

Hi might be a simple one for someone.
I have finished working on this website and in ie9 there is a lot of line height issues - i don't even know if line height is the right word - spacing seems to imply letter spacing.
The easiest way to explain my issue is with screen shots.
Why is the 3rd one (ie9) so out?
url for the website is http://www.geckowebsolutions.co.uk
Could it be the font .eot is rending differently to the otf?
If so how can I work around this?
DanSiop
Change your headers to tell IE9 to follow the modern norms :
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
Do the 3 changes : the doctype, the html element and the meta.
I am not sure why it's happening (trouble shooting in IE sucks) but it's your.breadcrumbs CSS that is being affected. Quick and dirty solution is to add an IE conditional.
<!--[if IE]>
<style>
.breadcrumbs{top:11px;}
</style>
<![endif]-->

Why is my CSS not displaying correctly on IE7? Everything else is working OK

I've spent most of today trying to work out why the css on my site isn't working correctly in IE7. You can see the site at http://www.ecocamel.com
When you land on the product scroller page with the shower heads. .. everything is a mess, with mouseover popups partly showing without any mouseover, and products flowing out of the container to the right..
I tried adding overflow:hidden, and position:relative, which did fix quite a lot of it.. but it then caused the website to chop off part of the left / right arrows on other browsers...
SO I've removed everything for now. Just infuriating that it works perfectly on every other browser. How can I work out the best way of fixing it without impacting other browsers? I guess I can add the overflow:hidden / postion:relative stuff with a conditional IE7 statement so it doesn't impact other browsers.. but that still doesn't resolve things properly.
A good method is to use conditional comments.
You could use:
<!DOCTYPE html>
<!--[if lt IE 7]> <html class="ie6"> <![endif]-->
<!--[if IE 7]> <html class="ie7"> <![endif]-->
<!--[if IE 8]> <html class="ie8"> <![endif]-->
<!--[if gt IE 8]><!--> <html> <!--<![endif]-->
In this cases extra classes are put on the html tag for you to style explicit for IE6/7/8
Like:
div {color:#ff00ff}
.ie7 div {color:#00ff00;}
In the case of using conditional IE7 statements, while it seems a crap way to do it, if that is the only alternative without re-writing your CSS then that is the best solution.
As GordonM has mentioned, it's hard for us to know what's going on without seeing the code. But as you're using position:relative, I may suggest trying to use z-index so that the popup's display on top of everything (like they should do).
As well as this, have you followed the CSS box model correctly? What I tend to do is write these basic statements when I create a div or p tag:
div {
float:left;
width:100%;
margin:10px;
}
This is cross browser compliant, as I used to work for an agency who wanted their websites to use just one CSS file for all browsers. It is possible to build a web page with HTML and CSS and make it work on every single browser (excluding IE6) without the use of conditional statements. But as I think you've come/coming to the end of development, you aren't in a position to re-write your CSS completely. So try the z-index idea first, then try applying the above code to any affected div.
Google "conditional css for IE" and you'll find a plethora of tutorials showing you how to create conditional CSS for only IE version x+ or specifically ie7.. even all browsers but IE. Most websites require some, if not a ton of IE tweaking. Also, look in to a reset.css to set all margins and paddings to 0 to help with consistency.

IE positioning div layout problems

I know this is not an uncommon problem, but my layout that works in all other browsers blows up completely in IE (8 and 9).
I don't know if protocol is to post all the code here or just a link...
it is: www.megadyne.com/safezone/index.php
I think the relevant part is that I have a container div which is position:relative and then a bunch of divs inside that are position:absolute and the inner divs are being pushed out in IE.
There are lots of other problems with the layout—only in IE, but hopefully they are related?
Thanks in advance!
Brian
Take a look at the css for http://html5boilerplate.com/ it does a pretty good job standardizing all the css for browsers before you put in your code. Try using their css and putting #inline your css into their css where it asks for your custom css, and see if that fixes the issue.
if that doesn't work you can have a separate css file for IE with the HTML5 code
//If browser is IE version 8 or greater
<!--[if gte IE 8]>
<link rel="stylesheet" type="text/css" href="iespecific.css" />
<![endif]-->
Turns out there was something wrong with my declaration. Fixed that and all is right with the world again.

Super Suckerfish drop downs hidden by aviaslider in IE

I'm having problems with this website http://cspa.wa.edua.au.
The website is fine in most browsers however in IE the drop downs go behind the slider. I'm using aviaslider and super suckerfish for the navs.
Any CSS experts out there can have a quick look and let me know what I need to change so this problem is fixed.
The problem is with IE7 and is not to do with HTML5. Instead it is a conflict with the z-index of the aviaslider and associated script.
Adding position: relative and z-index: 99 to the <nav> element should fix the problem.
You just need the HTML5 shiv by the looks of it.
Try this in ur <head>
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

Resources