Galleria致命错误:无法从CSS中提取舞台高度。追踪高度:0px

时间:2011-07-07 12:22:49

标签: jquery galleria

如果我有行<style type="text/css"></style>,即使它是空白的,Galleria会抛出错误消息“致命错误:无法从CSS中提取舞台高度。跟踪高度:0px。”

即使我告诉Galleria使用高度为300的通道:

$('#galleria').galleria({ 
width: 300, 
height: 300, 
transition: 'fade' 
}); 

它尝试首先确定高度并且CSS行令人困惑,因此它会抛出此错误。如果我删除那一行,不再有错误。

我还能使用<style type="text/css"></style>吗?我们使用它来根据客户使用它来定制我们网站的外观和感觉。

11 个答案:

答案 0 :(得分:53)

确保包括:

目:

<link type="text/css" rel="stylesheet" href="galleria/themes/classic/galleria.classic.css">
<script type="text/javascript" src="js/galleria-1.2.5.min.js"></script>
<script type="text/javascript" src="galleria/themes/classic/galleria.classic.min.js"></script>

还有页面样式:

#galleria{height:467px}

在图片下面:

<script type="text/javascript">
$('#gallery').galleria({
width: 700,
height: 467 //--I made heights match
});
</script>

如果您在使用干净安装进行此故障排除时遇到问题,请在找到原因之前添加。

答案 1 :(得分:10)

您需要在gss中为galleria图像容器指定一个高度。 这是Galleria展示图像的地方(因此它应该小于拱廊本身的高度)。

.galleria-stage {
    height: 450px;
    position: absolute;
    top: 10px;
    bottom: 60px;
    left: 10px;
    right: 10px;
    overflow: hidden;
}

答案 2 :(得分:10)

对于仍然会收到此错误的人,可能会有所帮助: -

我收到此错误是因为我有一个隐藏的图库。

<强> FIX: - 在CSS中为gallery div赋予高度,然后在js文件中

Galleria.run('#gallery', {
  height: parseInt($('#gallery').css('height')),
  wait: true
 });

有关详细信息,请参阅以下链接: - http://galleria.io/docs/references/errors/

http://galleria.io/docs/options/wait/

答案 3 :(得分:5)

我只在IE中出现此错误。解决方案是强制高度。

在galleria.classic.css CSS中为类.galleria-stage

添加高度

例如

.galleria-stage { 
  height:450px; <-- set this to any height and i should work :)
  position: absolute; 
  top: 10px; 
  bottom: 60px; 
  left: 10px; 
  right: 10px; 
  overflow:hidden;
} 

答案 4 :(得分:3)

之情况

如果发生这种情况,很可能是因为您在页面加载时隐藏了Galleria元素。在其他几个答案中提到了这一点,但那些答案概述的解决方案不一定是最好的方法。

问题

对我来说,当页面启动时,我将Galleria容器设置为display:none;。 Galleria对象位于灯箱中,因此在用户单击按钮之前不会显示。这个display:none属性导致了这个问题。

解决方案

不使用display:none;隐藏元素,而是使用较大的负左边距,如left:-9999px;margin-left:9999px。这两种方法都可以确保Galleria正确加载。

答案 5 :(得分:2)

如果您使用经典主题并在galleria.classic.css文件中的.galleria-stage css类中设置高度和宽度,请尝试将DocType设置为如下所示

 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 //EN">

答案 6 :(得分:2)

使用jQuery galleria时遇到了同样的问题,我解决了它。 我修改了galleria-1.2.5.min.js中的一些参数。

Here是下载库的链接,只需复制代码并将其粘贴到js文件中即可。

答案 7 :(得分:1)

我以前有同样的pb。然后我尝试了别的东西。我以前的所有javascript文件都在我的html文件的末尾。所以我试图将它们全部移到</head>结束标记之前。

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
<script type="text/javascript" src="lib/galleria/galleria-1.2.5.js" /></script>
<script type="text/javascript" src="lib/galleria/themes/classic/galleria.classic.min.js"></script>
</head>
我真的不喜欢用这种方式编码(即最后的javascript)。无论如何它似乎工作,画廊很棒!

答案 8 :(得分:1)

我正在为这个问题添加一个答案,因为上述所有内容对我都不起作用。在我的情况下,我在嵌入式跨域javascript小部件中动态加载galleria(1.2.7)。即使正确设置了舞台高度,也会加载脚本并正确初始化galleria,这个错误消息会定期显示。

我最终修改了galleria源以禁止显示错误消息(可能更好的选择是使其依赖于调试标志,但我觉得不需要)

Galleria.raise = function( msg, fatal ) {

    var type = fatal ? 'Fatal error' : 'Error',

        self = this,

        css = {
            display: none;
        },

答案 9 :(得分:1)

根据instructions部分Setting dimensions,请在您的CSS中执行此操作(显然会切换#galleria以确定您的包装内容,我使用了一个类叫做galleria所以我用.galleria

#galleria { width: 700px; height: 400px; }

答案 10 :(得分:-1)

经过多次尝试,上述解决方案都不适合我。是一个奇怪的错误,因为它很难复制和追踪,有时是工作,有时不工作。

但是尝试在网上找到的东西,这个似乎是有效的。对于那些坚持这一点的人,我想这值得一试:

  • 打开galleria-1.2.6.min.js
  • 替换timeout:1E4
  • timeout:1E10字符串