2016-12-15 2 views
1

Je suis une vraie novice et j'essaie d'utiliser un modèle Web pour concevoir mon propre site Web. J'ai une galerie lightbox de base et tout fonctionne bien, mais peu importe ce que j'ai essayé, je ne peux pas obtenir une légende à afficher sur l'image de la galerie (pas la vignette).La légende du titre de la visionneuse ne fonctionne pas

C'est un extrait du code html avec un seul élément de la galerie:

<div class="gallery-item"> 
    <div class="image"> 
    <div class="overlay"> 
    <a href="img/gallery/gallery-item1.jpg" data-rel="lightbox" data-title="explanation of image goes in here"></a> 
    </div> 
    <img src="img/gallery/gallery-item1.jpg" alt="image 4"> 
    </div> 

J'ai essayé d'utiliser title = « caption » au lieu de données title = « légende », mais pas de joie. Voici le css pour la lightbox:

#lightbox { 
cursor: pointer; 
position: fixed; 
width: 100%; 
height: 100%; 
top: 0; 
left: 0; 
background: black; 
/* IE Fallback (Solid Colour) */ 
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAIElEQVQ4T2NkYGDYDMRkA8ZRAxhGw4BhNAyA+WAYpAMAIFgLQfO9BoEAAAAASUVORK5CYII=); 
background: rgba(0, 0, 0, 0.7); 
-webkit-filter: none !important; 
} 

#lightbox img { 
display: block; 
position: absolute; 
border: 5px solid #fff; 
box-shadow: 0 0 20px #000; 
border-radius: 1px; 
} 

body.blurred > * { 
-webkit-filter: blur(2px); 
-webkit-transform: translate3d(0, 0, 0); 
} 

.lightbox-loading { 
background: url(../img/loading.gif) center center no-repeat; 
width: 31px; 
height: 31px; 
margin: -16px 0 0 -16px; 
position: absolute; 
top: 48%; 
left: 50%; 
} 

.lightbox-caption { 
display: none; 
position: absolute; 
left: 0; 
bottom: 0; 
width: 100%; 
text-align: center; 
z-index: 1000; 
background: #000; 
background: rgba(0, 0, 0, 0.7); 
} 

.lightbox-caption p { 
margin: 0 auto; 
max-width: 70%; 
display: inline-block; 
*display: inline; 
*zoom: 1; 
padding: 10px; 
color: #fff; 
font-size: 12px; 
line-height: 18px; 
} 

.lightbox-button { 
position: absolute; 
z-index: 9999; 
background: no-repeat center center; 
width: 32px; 
height: 32px; 
opacity: 0.4; 
-webkit-transition: all 0.3s; 
-moz-transition: all 0.3s; 
-ms-transition: all 0.3s; 
transition: all 0.3s; 
} 

.lightbox-button:hover, 
.lightbox-button:focus { 
opacity: 1; 
-webkit-transform: scale(1.4); 
-moz-transform: scale(1.4); 
-ms-transform: scale(1.4); 
transform: scale(1.4); 
} 

.lightbox-close { 
right: 30px; 
top: 30px; 
background-image: url("../img/close.png"); 
} 

.lightbox-next { 
right: 30px; 
top: 48%; 
background-image: url("../img/next.png"); 
} 

.lightbox-previous { 
left: 30px; 
top: 48%; 
background-image: url("../img/previous.png"); 
} 

des conseils/aide est la bienvenue. grâce

+0

Quel script lightbox utilisez-vous? – sinisake

+0

Pouvez-vous lier un site, ou une démo avec le plugin lighbox? Il est difficile de voir ce qui ne va pas sans – sol

+0

@ovokuro merci pour les réponses. J'ai pris la visionneuse à partir d'un modèle web gratuit parce que j'aimais seulement la visionneuse. J'ai téléchargé une page de test avec les fichiers lightbox et css et js de base: http://sugastore.com/test/gallery-temp.html Voici le modèle web original, même si j'ai simplement pris la éléments dont j'ai besoin pour mettre dans mon site (donc c'est le même js et css) mais voici le lien quand même: http://www.templatemo.com/tm-397-concept – sasha

Répondre

0

Besoin d'un code pour vérifier que je dirais, mais vous avez

.lightbox-caption { 
display: none; 
} 

Ce serait généralement cacher cette classe. Peut-être essayer et supprimer l'affichage: aucun ou changer pour bloquer ou en ligne etc?

+0

merci - J'ai ajusté le CSS pour bloquer et en ligne et maintenant la légende montre mais pas sur l'image pop-up.Quand je mets le: dans la page - Je ne peux obtenir que la légende à afficher sur la vignette ou la vignette - pas l'image réelle de la visionneuse qui apparaît. Le lien: http://sugastore.com/test/gallery-temp.html – sasha

0

La légende est en cours de chargement par l'attribut 'data-caption' dans votre balise d'ancrage.

Vos mots-clés d'ancrage regardent actuellement comme ceci:

<a href="img/gallery/gallery-item1.jpg" data-rel="lightbox" class="fa fa-expand"></a> 

Vous devez insérer la légende comme ceci:

<a href="images/gallery/gallery-item1.jpg" data-caption="caption here" data-rel="lightbox" class="fa fa-expand"></a> 

Pour votre propre intérêt, si vous regardez le javascript dans les fichiers source vous verrez ces lignes:

setCaption: function() { 
       var caption = $(plugin.current).data('caption'); 
       if(!!caption && caption.length > 0) { 
        plugin.caption.fadeIn(); 
        $('p', plugin.caption).text(caption); 
       }else{ 
        plugin.caption.hide(); 
       } 
      }, 

La deuxième ligne dit:

var caption = $(plugin.current).data('caption'); 

Ceci définit la légende pour tout texte que vous avez dans le champ data-caption. Si elle a dit .data('title'), alors vous utiliseriez data-title = "my caption"

Espérons que cela aide.

+0

merci beaucoup d'avoir passé le temps de répondre et avec cette information - ça a marché !! la légende s'affiche maintenant sur l'image principale de grande taille. J'ai passé des heures à essayer de comprendre cela, mais sans résultat, alors merci pour votre aide et aussi pour le conseil sur la façon de trouver le js correspondant - cela m'aide à apprendre ce genre de choses. J'apprécie :) :) – sasha

+0

C'est super, content que ça a aidé – sol