0

What are your experiences with CSS3PIE and IE8, as our developers are having lots of issues with it.

It appears to work fine in Chrome and IE9, but IE8 is a different experience. We have a tab component for which css3pie styling is applied and when moving one tab to another tab, we are getting a flashing/jerk and content layout moving up and down. It also appears CSSPIE does not execute until after the browser “load” event has completed, which is why we are getting the “flashing” as the backgrounds get “loaded”, then CSSPIE executes and applies the formatting (only an issue in IE8).

Has anyone came across similiar kind of issue in past if so please share the fix for this

enter image description here

This is the jquery script i am using

    $(document).ready(function(){
            $('ul.tabs').each(function(){
                var $active, $content, $links = $(this).find('a');
                $active = $($links.filter('[href="'+location.hash+'"]')[0] || $links[0]);
                $active.addClass('active');
                $content = $($active.attr('href'));
                $links.not($active).each(function () {
                    $($(this).attr('href')).hide();
                });
                $(this).on('click', 'a', function(e){
                    $active.removeClass('active');
                    $content.hide();
                    $active = $(this);
                    $content = $($(this).attr('href'));
                    $active.addClass('active');
                    $content.show();
                    e.preventDefault();
                });
            });
            $('ul.main').each(function(){
                var $active, $content, $links = $(this).find('a');
                $active = $($links.filter('[href="'+location.hash+'"]')[0] || $links[0]);
                $active.addClass('active');
                $content = $($active.attr('href'));
                $links.not($active).each(function () {
                    $($(this).attr('href')).hide();
                });
                $(this).on('click', 'a', function(e){
                    $active.removeClass('active');
                    $content.hide();
                    $active = $(this);
                    $content = $($(this).attr('href'));
                    $active.addClass('active');
                    $content.show();
                    e.preventDefault();
                });
            });
        });
        ​

Community
  • 1
  • 1
Ravi
  • 4,015
  • 7
  • 30
  • 35
  • It would help if you'd given us some of your CSS to see, rather than just the screenshot. But I'll try.... as you using `!important` anywhere in the relevant elements? This will break CSS3Pie because it overrides styles but can't override `!important`. Also, many common problems with CSS3Pie can be solved by adding a `zoom:1;` style to the element. This is a hack to get around certain IE bugs, that forces IE to set the element to the correct mode internally. That's all for now; for anything else, I'd have to see more of your code. – SDC Nov 29 '12 at 13:01
  • @SDC please find the working version here uxcult.com/uw/htmls/accordion.html, i also added the jquery script – Ravi Nov 29 '12 at 14:58

0 Answers0