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.
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.
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;
}
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/
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;
}
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.
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">
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;
},
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 !
, 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; }
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 detimeout:1E10