views:

1084

answers:

17

I have been using dean edwards ie7/8 script. Not sure if it's my implementation or not but sometimes I would experience ie6 issues that weren't quite fixed or required special handling which meant I would be back where I started, caring about ie6. So, I was wondering if ie7/8 is still the go or if some other practice/solution was better.

A: 

I don't think there is ever a standard as to what browser you can or can't ignore. It depends on the organization -- or the audience in the case of your start-up. Any JS you write should "gracefully degrade" but making sure that actually happens requires some artfulness at times.

Joe Soul-bringer
+1  A: 
Unkwntech
Why do you have two decimal places showing if you're rounding to the nearest half percent?
Because that is how excel did it and I didn't bother fixing it.
Unkwntech
There aren't many people using Chrome (I do). Surely your site must have an unusual target audience to have 12.5% of its visitors using Chrome.
DrJokepu
I do as well, and this data represents 2 restaurants, 1 religious site, 1 interior design site, and 1 schools.
Unkwntech
That means apparently there is a much higher number of us Chrome users out there than what they make us believe! I smell a conspiracy here!
DrJokepu
Oh and I forgot to mention 1 Web-Design company.
Unkwntech
The mass majority of the chrome hits come from the restaurants.
Unkwntech
The Chrome stats are really quite interesting.
cletus
They are I wish I had more historical data so I could compare the above stats to before the chrome release, from my own logs (nothing hard) it seems that IE is down 8% and FF 12%.
Unkwntech
+29  A: 
Spence
+1 cause it's true.
Unkwntech
This isn't XKCD. Answers are expected.
Jonathan Sampson
Fair enough. I certainly made it clear that it wasn't an answer though.
Spence
+1 because I don't understand this down voting thing. Vote up, offensive, or not at all. For this one, "not at all" would have been fine. It should be at the bottom, but, I'd rather hear a joke from someone than nothing at all.
Marcus
+1 because I don't like whiny people with too much time on their hands.
Ed Swangren
+1 'cause it's clever, funny and true
Cruachan
*sadly* true, you table fixated fools..
annakata
+1 for the the time spent trying to do layout in CSS before giving up and using tables. So true (anti-table nazis notwithstanding).
cletus
The answer to this question is indeed. Swearing a lot, then giving up and hacking the layout together using javascript for IE6 users.
Pim Jager
I've yet to meet a web developer who saw this graph and didn't burst out laughing before telling me that sadly its true.
Spence
I still don't understand why people find it easier to do layouts in tables. What kind of idiotically simple designs are you all implementing? And why do you find it difficult at all to implement something that simple with CSS?
eyelidlessness
+16  A: 

Update: I expanded my answer here with a tutorial on my site, which will probably be more helpful than my answer here. Ultimate IE6 Cheatsheet: How To Fix 25+ Internet Explorer 6 Bugs

Here's how I tackle IE6:

  • I validate both my XHTML and CSS.
  • I keep my designs simple, even the complicated ones.
  • I don't use hacks that invalidate my CSS.
  • I use a JavaScript framework/library (I like MooTools, but you'll get a lot of votes for jQuery, Prototype, YUI, Dojo, and many others) that handles most of my cross-browser JavaScript problems.
  • I progressively enhance my pages so that they first work without JavaScript and then add all the bells and whistles.
  • For some of the double margin problems, I use display:inline;
  • If I absolutely have to, I use a separate stylesheet, though I'm finding I have to do this less and less.
  • I try to avoid transparent images in my layouts. If I absolutely need them, I use a PNG8 with alpha transparency, which IE6 actually does support.
  • To get at the min-height problem, I do the following:

This for IE6, which interprets height as min-height:

.classNameHere {height:300px;}

This for for everything else:

div>div .classNameHere {min-height:300px; height:auto;}

Incidentally, if you need to isolate IE6 with CSS, that's a good way to do it, as it doesn't support child selectors.

VirtuosiMedia
* html selector (for IE 6) or html > body selector (for not IE 6) seems to cover more possibilities without relying on a certain structure.
eyelidlessness
+1  A: 

To be completely honest, I don't really handle IE6-issues much lately. My design-process is simple:

  • Reset margin/padding on everything. I mean everything.
  • Test my page layout every few minutes. Takes one tap on F5.
  • If any change breaks the page, I stop everything and evaluate the change.
  • If the desired method cannot be used, I research alternative methods, excluding 'hacks'.
  • I validate both markup and css. And always use XHTML 1.0 Strict.
  • I make sure my site works first without Javascript, and then later use jQuery.

These basic practices have kept me from having to work around IE6 issues a lot over the years. The only issue I still get upset over is IE6's support for PNG24 with Transparency, but IEPNGFix takes care of those - usually without breaking my layouts too.

It may be the opinion of a foolish man:
Great developers don't find complaints, they find solutions.

Jonathan Sampson
Just in case you didn't know, IE6 does support transparent PNG8s, but they must must be either fully transparent or opaque. Anything in between will just be transparent.
VirtuosiMedia
I was referring to PNG24, sorry.
Jonathan Sampson
+2  A: 

YUI reset and YUI grids have allowed me to keep my sanity when support IE6.

IE 6 is an "A-grade" browser, which means that bugs and errors get priority.

Ryan
+2  A: 

I'm using:

  • "Reset.css" to minify the difference between the browsers default CSS computed styles (e.g. YUI reset.css)
  • Conditional Comments to put additional css file into the scope ;) (e.g. ./ieFix.css)
  • W3C Validator to tell if the difference in rendering is caused by bad nesting or it's just IE ;)
  • if that fails, jQuery helps a lot ;)
shfx
I don't think English is your native language, so you've probably learned wrong from others using the words wrong, but the word 'allot' is a verb that means to distribute by portions. The words 'a lot' mean many.
thursdaysgeek
Right. Thanks for pointing it out ;)
shfx
+1  A: 

Conditional comments, patience and sometimes ie7-js.

dylanfm
+1  A: 

I agree with the responses that talk about a process involving clean code, conditional comments, keeping ie6 happy but not perfect, etc etc. But it's a very cautious, little by little process which is still, at the heart, quite time consuming when really it's all for one browser. I am reluctant to tick any response as answered because all the responses talk about existing methods I am familiar with. It may be that my question is answered "No" :) because essentially I was after a framework that meant you didn't even have to worry about ie6's nuances, just code in a modern way - something I thought ie7/8's js would do but even just today I realise that min-height isn't being fixed!!. Thanks anyway for the replies - it's helped re-enforce that my approach is still the status quo and I am using my time as efficiently as I can.

Daniel
Either you NEED to support IE6 (your project is specified as such) or you don't. You must decide. My banks usually decide to not support Opera and I just (have to) cope with them. It's a commercial decision.
Daniel Daranas
I updated my answer with a fix for min-height in IE6
VirtuosiMedia
+3  A: 

I try not to support IE6

Toby Hede
A: 

There is really just one "fix" for IE-problems which is to help facilitate its suicide. The only way I've discovered to help IE commit suicide is to educate my visitors. This can be done by sniffing the browser and if IE is detected you display a "help upgrade the web" banner.

Kind of like GMail does...

We're doing this at ra-ajax and stacked (visit the site with any versions of IE)

Thomas Hansen
A: 

Build for firefox first, nuke or downgrade design elements experience tells you IE6 can't handle at the outset, and not spend more time than the client spec warrants

TBH experience is the #1 preventative measure for IE6 problems

annakata
A: 
  1. Make it work in Firefox;
  2. Check to see if it looks and works the same in IE7;
  3. Check to see if it sorta works in IE6 (because that's good enough).
  4. If you can't do the layout with simple CSS (no crazy relative+absolute positioning or float:after fixes) then just do it with tables;
  5. Put a DOCTYPE in to force the browser into compliance (rather than quirks) mode;
  6. Minimize box model issues by minimizing the use of contained borders (or by giving invisible borders to other similar elements) and nesting elements to minimize padding/margin/border combos, which will just cause you grief;
  7. Don't bother trying to get a CSS menu to work across all browsers. It isn't 2003 anymore. Just use Javascript (eg jQuery/superfish).
  8. Only use :hover on links. If necessary change them with display: block.
cletus
A: 
  1. Kill ALL default styling before starting.
  2. Throw Dean Edwards script at it.
  3. If problems persist to tell users to upgrade.
  4. If IE6 is vital, use an IE stylesheet that removes whatever doesn't work and replaces them with less complex styles.
  5. jQuery :hover etc. to .hover, input[type=submit] to input.submit etc. Helps with older versions of FF and Opera aswell occasionally.
Macha
A: 

I've decided yesterday to not support it anymore. There's a movement starting trying to kill IE 6.

Thanks to IE's conditional comments it's easy to show a message for just those users.

Georg
A: 

I build it for Chrome, then I optimize for Firefox most of the time its just little things then I go into IE 8 and then I go into IE 7 since most bugs I will have eliminated by then. After IE 7 I take a brief look at Opera and am finished for the day. Who cares about IE 6 anymore?

Are you complaining to the Intel manufaturers that the cpu doesn't fit into your comodore? There are technology advancements and I think IE 6 should be killed the best way to do that is to tell the the user he has to upgrade and let the site look like crap thats the only way to force them to switch. Some will eventually ask their children why the internets are broken and then the son will come along install all updates and the mom or dad can be happy again.

My answer in short: No more optization at all is how I handle it.

Thomaschaaf
A: 

By encouraging users to upgrade to something—ANYTHING—better.

jeffamaphone