Galleria erreur fatale: impossible d'extraire une hauteur de scène du CSS. Hauteur tracée: 0px

Si j'ai la ligne <style type="text/css"></style>, même si elle est vide, Galleria lance le message D'erreur "Erreur fatale: impossible d'extraire une hauteur de scène du CSS. Hauteur tracée: 0px."

Il semblerait que même si je dis à galleria d'utiliser une hauteur de 300 via:

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

Il essaie d'abord de déterminer la hauteur et la ligne CSS la confond, donc il lance cette erreur. Si je supprime cette ligne, plus d'erreur.

Y a-t-il de toute façon que je peux toujours utiliser <style type="text/css"></style>? nous l'utilisons pour personnalisez l'apparence de notre site en fonction du client qui l'utilise.

36
demandé sur SLoret 2011-07-07 16:22:48

11 réponses

Assurez-vous d'inclure:

Tête:

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

Aussi Le style dans la page:

#galleria{height:467px}

Et en dessous des images:

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

Si vous avez des problèmes avec ce dépanner avec une installation propre et ajouter jusqu'à ce que vous trouviez la cause.

53
répondu Emilio 2013-07-19 02:31:34

Vous devez donner une hauteur au conteneur d'image galleria en css. C'est là que galleria montre les images (il devrait donc être plus petit que la hauteur de galleria elle-même).

.galleria-stage {
    height: 450px;
    position: absolute;
    top: 10px;
    bottom: 60px;
    left: 10px;
    right: 10px;
    overflow: hidden;
}
10
répondu SaphuA 2011-07-12 17:53:07

Cela pourrait aider quelqu'un, qui obtient toujours cette erreur: -

J'ai eu cette erreur parce que j'avais une galerie cachée.

Correction: - Donnez à la galerie div une hauteur en CSS, puis dans le fichier js,

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

Voir ces liens pour plus d'informations:- http://galleria.io/docs/references/errors/

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

9
répondu Divyanshu Das 2013-02-28 09:27:31

J'ai eu cette erreur seulement dans IE. La solution est de forcer la hauteur.

Dans la galerie.classique.CSS CSS ajoute une hauteur pour la classe .galleria-stage

Exemple.

.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;
} 
5
répondu Dacarts 2011-12-14 20:41:41

Scenerio

Si cela vous arrive, c'est probablement parce que vous avez l'élément Galleria caché lorsque la page se charge. Ceci est mentionné dans quelques autres réponses, mais les solutions que ces réponses décrivent ne sont pas nécessairement les meilleures méthodes.

Problème

Pour moi, j'ai le conteneur Galleria défini sur display:none; lors du lancement de la page. L'objet Galleria est dans une lightbox, de sorte qu'il ne s'affiche pas jusqu'à ce que l'utilisateur clique sur un bouton. Cette propriété display:none est ce qui est à l'origine du problème.

Solution

Au lieu de masquer l'élément avec display:none;, utilisez une grande marge de gauche négative comme left:-9999px; ou margin-left:9999px. L'une ou l'autre de ces méthodes assurera que Galleria se charge correctement.

3
répondu VictorKilo 2012-10-11 20:35:14

Essayez de définir le DocType comme ci-dessous si vous utilisez le thème classique avec la définition de la hauteur et de la largeur .galleria-stage classe CSS dans galleria.classique.fichier css

 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 //EN">
2
répondu ShankarSangoli 2011-07-18 20:32:19

J'ai eu le même problème en utilisant jQuery galleria et je l'ai résolu. J'ai modifié certains paramètres dans galleria-1.2.5.min.js.

Ici est le lien pour télécharger la bibliothèque, il suffit de copier le code et de le coller dans votre fichier js.

2
répondu simo 2012-04-09 18:25:18

J'ajoute une réponse à cette question car tout ce qui précède n'a pas fonctionné pour moi. Dans mon cas, je chargeais galleria (1.2.7) dynamiquement dans un widget javascript cross domain intégré. Même si la hauteur de la scène a été définie correctement, les scripts ont été chargés et galleria initialisé correctement ce message d'erreur serait périodiquement afficher.

J'ai fini par Modifier la source de galleria pour supprimer les messages d'erreur de l'affichage (peut - être une meilleure option serait de rendre cela dépendant de le drapeau de débogage, mais je n'ai pas ressenti le besoin)

Galleria.raise = function( msg, fatal ) {

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

        self = this,

        css = {
            display: none;
        },
1
répondu Jesse 2012-05-31 17:32:38

J'avais le même pb. ensuite, j'ai essayé quelque chose d'autre. tous mes fichiers javascript étaient à la fin de mon fichier html. j'ai donc essayé de les déplacer tous juste avant la balise de fermeture </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>

Je ne suis pas vraiment heureux de coder de cette façon (ie javascript à la fin). quoi qu'il en soit, il semble fonctionner et la galerie est grande !

1
répondu youn 2012-11-04 10:19:52

, Comme par le instructions, section Setting dimensions , dans votre CSS (évidemment interrupteur de #galleria pour quelle façon vous l'id de votre enveloppe, j'utilise une classe appelée galleria donc j'utilise .galleria)

#galleria { width: 700px; height: 400px; }
1
répondu Serj Sagan 2014-04-18 03:43:06

Après plusieurs tentatives, aucune des solutions ci-dessus n'a fonctionné pour moi. Est un bug étrange, car il est difficile de répliquer et de tracer, parfois travailler et parfois pas.

Mais essayer des choses trouvées sur le net, celui-ci semble fonctionner, pour le moment. Pour ceux qui sont coincés avec cela, je suppose que cela vaut la peine d'essayer:

  • Ouvrir galleria-1.2.6.min.js
  • Remplacer timeout:1E4 chaîne de timeout:1E10
-1
répondu Jesús Plaza 2012-10-27 12:24:18