如果我有行<style type="text/css"></style>
,即使它是空白的,Galleria会抛出错误消息“致命错误:无法从CSS中提取舞台高度。跟踪高度:0px。”
即使我告诉Galleria使用高度为300的通道:
$('#galleria').galleria({
width: 300,
height: 300,
transition: 'fade'
});
它尝试首先确定高度并且CSS行令人困惑,因此它会抛出此错误。如果我删除那一行,不再有错误。
我还能使用<style type="text/css"></style>
吗?我们使用它来根据客户使用它来定制我们网站的外观和感觉。
答案 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/
答案 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)
</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
字符串