Galleria Fatal error: Не удалось извлечь высоту сцены из CSS. Отслеживаемая высота: 0px - PullRequest
36 голосов
/ 07 июля 2011

Если у меня есть строка <style type="text/css"></style>, даже если она пуста, Galleria выдает сообщение об ошибке «Неустранимая ошибка: не удалось извлечь высоту этапа из CSS. Отслеживаемая высота: 0 пикселей».

Может показаться, что хотя я и говорю Galleria использовать высоту 300 через:

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

, он сначала пытается определить высоту, а строка CSS вводит ее в заблуждение, поэтомуэто выбрасывает эту ошибку.Если я удалю эту строку, ошибки больше не будет.

Могу ли я в любом случае использовать <style type="text/css"></style>?мы используем его для настройки внешнего вида нашего сайта в зависимости от того, кто его использует.

Ответы [ 11 ]

53 голосов
/ 09 августа 2011

Убедитесь, что вы включили:

Голова:

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

Если у вас есть проблемы с этим, устраните неполадки с чистой установкой и добавляйте, пока не найдете причину.

10 голосов
/ 28 февраля 2013

Это может помочь кому-то, кто все еще получает эту ошибку: -

Я получил эту ошибку, потому что у меня была скрытая галерея.

FIX: - Дайте галерее высоту div в CSS, затем в js файле,

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

Смотрите эти ссылки для получения дополнительной информации: - http://galleria.io/docs/references/errors/

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

10 голосов
/ 12 июля 2011

Вы должны задать контейнер изображения галереи в css. Именно здесь в галерее отображаются изображения (поэтому она должна быть меньше высоты самой галереи).

.galleria-stage {
    height: 450px;
    position: absolute;
    top: 10px;
    bottom: 60px;
    left: 10px;
    right: 10px;
    overflow: hidden;
}
5 голосов
/ 31 августа 2011

У меня была эта ошибка только в IE.Решением является принудительное задание высоты.

В CSS galleria.classic.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;
} 
3 голосов
/ 12 октября 2012

Scenerio

Если это происходит с вами, это, скорее всего, потому, что у вас скрыт элемент Galleria при загрузке страницы. Это упоминается в нескольких других ответах, но решения, которые изложены в этих ответах, не обязательно являются лучшими методами.

Проблема

Для меня контейнер Galleria установлен на display:none; при запуске страницы. Объект Galleria находится в лайтбоксе, поэтому он не отображается, пока пользователь не нажмет кнопку. Это свойство display:none является причиной проблемы.

Решение

Вместо того, чтобы скрывать элемент с помощью display:none;, используйте большое отрицательное левое поле, например left:-9999px; или margin-left:9999px. Любой из этих методов обеспечит правильную загрузку Galleria.

2 голосов
/ 15 февраля 2012

У меня была такая же проблема при использовании jQuery galleria, и я решил ее. Я изменил некоторые параметры в galleria-1.2.5.min.js.

Здесь - ссылка для загрузки библиотеки, просто скопируйте код и вставьте его в файл js.

2 голосов
/ 19 июля 2011

Попробуйте установить DocType, как показано ниже, если вы используете классическую тему вместе с установкой высоты и ширины в классе CSS .galleria-stage в файле galleria.classic.css

 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 //EN">
1 голос
/ 18 апреля 2014

В соответствии с инструкциями , раздел Setting dimensions, сделайте это в вашем CSS (очевидно, отключите #galleria для того, чтобы вы ни идентифицировали свою обертку, я использую класс galleria, поэтому я используйте .galleria)

#galleria { width: 700px; height: 400px; }
1 голос
/ 31 мая 2012

Я добавляю ответ на этот вопрос, так как все вышеперечисленное не работает для меня.В моем случае я загружал galleria (1.2.7) динамически в рамках встроенного междоменного виджета JavaScript.Даже при том, что высота этапа была установлена ​​правильно, скрипты были загружены, и galleria правильно инициализировалась, это сообщение об ошибке периодически отображалось.чтобы сделать это зависимым от флага отладки, однако я не чувствовал необходимости)

Galleria.raise = function( msg, fatal ) {

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

        self = this,

        css = {
            display: none;
        },
1 голос
/ 15 декабря 2011

Раньше у меня был такой же пб. тогда я попробовал что-то еще. все мои файлы 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). в любом случае, это похоже на работу, и галерея отличная!

...