40

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

看来,即使我通过以下方式告诉 Galleria 使用 300 的高度:

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

它试图首先确定高度,而 CSS 行混淆了它,所以它抛出了这个错误。如果我删除那一行,则不再有错误。

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

4

11 回答 11

56

确保您包括:

头:

<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>

如果您在全新安装时遇到此故障排除问题,请添加直到找到原因。

于 2011-08-08T23:45:14.713 回答
12

它可能会帮助一些仍然遇到此错误的人:-

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

修复:- 在 CSS 中给画廊 div 一个高度,然后在 js 文件中,

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

有关更多信息,请参阅这些链接:- http://galleria.io/docs/references/errors/

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

于 2013-02-28T09:27:31.737 回答
11

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

.galleria-stage {
    height: 450px;
    position: absolute;
    top: 10px;
    bottom: 60px;
    left: 10px;
    right: 10px;
    overflow: hidden;
}
于 2011-07-12T16:37:18.313 回答
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;
} 
于 2011-08-31T08:18:52.610 回答
3

场景

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

问题

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

解决方案

display:none; 而不是使用较大的负左边距来隐藏元素,例如left:-9999px;or margin-left:9999px。这些方法中的任何一种都将确保 Galleria 正确加载。

于 2012-10-11T20:35:14.273 回答
2

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

 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 //EN">
于 2011-07-18T20:32:19.633 回答
2

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

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

于 2012-02-15T18:32:18.930 回答
1

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

我最终修改了 Galleria 源以禁止显示错误消息(也许更好的选择是使其依赖于调试标志,但我觉得没有必要)

Galleria.raise = function( msg, fatal ) {

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

        self = this,

        css = {
            display: none;
        },
于 2012-05-31T17:32:38.677 回答
1

我曾经有相同的铅。然后我尝试了别的东西。我所有的 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)。无论如何,它似乎工作,画廊很棒!

于 2011-12-14T20:39:03.090 回答
1

根据说明,部分Setting dimensions,在你的CSS(显然切换到#galleria你的包装器的任何方式,我使用一个名为 Galleria 的类,所以我使用.galleria

#galleria { width: 700px; height: 400px; }
于 2014-04-18T03:43:06.703 回答
-1

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

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

  • 打开galleria-1.2.6.min.js
  • 替换timeout:1E4字符串为timeout:1E10
于 2012-03-13T18:40:17.567 回答