代码之家  ›  专栏  ›  技术社区  ›  Gublooo

CSS在页面呈现后生效

  •  5
  • Gublooo  · 技术社区  · 16 年前

    我遇到了这样一个问题,我的页面加载,然后在几分之一秒后的CSS效果或样式发生。

    http://docs.jquery.com/UI/Tabs#source

    当页面呈现时,选项卡会显示一个在另一个下面一秒钟,如下所示:

    One 
    Two
    Three
    

    然后正确渲染为选项卡

    有没有一个快速简单的方法来解决这个问题。 谢谢

    4 回复  |  直到 16 年前
        1
  •  9
  •   Evan Nagle    13 年前

    你有几个选择。首先,一旦jqueryui完成了它的魔力,您就可以隐藏选项卡并显示它们。其次,您可以设置选项卡的样式,使它们看起来与完成的输出足够接近,这样更改就不会那么明显了。第三,您可以删除jqueryui并仅使用CSS设置选项卡样式。所有有效的方法,我想说。

    希望这有帮助!

    编辑:

    对于第一个选项,假设这是包含选项卡的div:

    <div id="tabs">
      ...stuff...
    </div>
    

    #tabs {
        display:none;
    }
    

    var t = $("#tabs");
    
    t.tabs({
        create:function(){
            t.show();
        }
    });
    
        2
  •  2
  •   Ed Ruder    15 年前

    古怪情人的回答几乎对我有效(使用jquery1.5.2),但我不得不钩住 create

    var t = $("#tabs");
    
    t.tabs({
        create:function(){
            t.show();
        }
    });
    

    谢谢!

        3
  •  0
  •   Mathiasdm    16 年前

    浏览器通常加载HTML代码中显示的文件。一定要把对你的CSS文件的引用放在第一位,以便它尽快加载。

    如果CSS是使用Javascript应用的,那么就不可能让它加载得更快。Javascript文件需要先加载才能使用。

    除此之外,我认为没有办法控制浏览器渲染的工作方式。

        4
  •  0
  •   Janick Bernet    16 年前

    CSS是通过Javascript应用的吗?在这种情况下,您可以添加一些静态CSS,通过添加一些静态CSS,确保元素在javascript执行之前至少得到水平排列。