0

我需要添加 2 个不同的标题来自定义 Nivo Lightbox 中的每个标题

例子:

http://prntscr.com/23o766

但看起来不可能,有没有办法在一张图片上放 2 个标题?

或者无论如何要解决这个问题?另外,我希望能够将标题用作链接,但有很多限制。谢谢。

代码:

<a class="image image-full"  data-lightbox-gallery="gallery1" href="nivo-lightbox/img/b/grey_antique_q_white_mortar_concave_finish_technique_view_b.jpg" title="Grey Antique Q White Mortar Concave Finish Technique View B">

<img id="sample_board_image" src="nivo-lightbox/img/s/grey_antique_q_white_mortar_concave_finish_technique_view_b.jpg" alt="Grey Antique Q White Mortar Concave Finish Technique View B"></img>
</a>

必须有一种方法可以在标题中添加多个样式,或者任何其他方法可以在灯箱的叠加层中添加该文本。

我实际上已经尝试在 nivo 灯箱上插入另一个 html,但这给我带来了很多麻烦,内容无法正确显示,有没有办法让内容适合灯箱?

http://prntscr.com/23qm97

4

1 回答 1

0

是的,您可以通过为 nivo 滑块的图像的 title 属性指定元素 id 并为 nivo 灯箱的链接的 href 属性指定元素 id 来做到这一点。元素 id 应指向具有您希望的任何内容的元素。

nivo 灯箱

在 nivo lightbox 中,可以使用 id 元素作为 href 属性的值来显示 html 内容。因此,为了显示带有标题的图像,图像和标题应该是#test以下示例中目标元素的 html 内容的一部分。

            <a href="#test" class="image image-full"  data-lightbox-gallery="gallery1" href="nivo-lightbox/img/b/grey_antique_q_white_mortar_concave_finish_technique_view_b.jpg" title="Grey Antique Q White Mortar Concave Finish Technique View B">

<img id="sample_board_image" src="nivo-lightbox/img/s/grey_antique_q_white_mortar_concave_finish_technique_view_b.jpg" alt="Grey Antique Q White Mortar Concave Finish Technique View B"></img>
</a>
    <div id="test" style="display:none">this is from test

            <img id="sample_board_image" src="nivo-lightbox/img/s/grey_antique_q_white_mortar_concave_finish_technique_view_b.jpg" alt="Grey Antique Q White Mortar Concave Finish Technique View B"></img>
            <p>some content</p>
            <p>a second <a href=#>title</a> as link</p>
        </div>

nivo 滑块

例如,从 nivo 滑块 jquery 插件的演示代码中稍作修改的摘录,

<div id="wrapper">
        <div class="slider-wrapper theme-default">
            <div id="slider" class="nivoSlider">
                <img src="images/walle.jpg" data-thumb="images/walle.jpg" alt="" data-transition="slideInLeft" />
                <img src="images/nemo.jpg" data-thumb="images/nemo.jpg" alt="" title="#htmlcaption" />
            </div>
            <div id="htmlcaption" class="nivo-html-caption">
                <strong>This</strong> is an example of a <em>HTML</em> caption with <a href="#">a link</a>. <br/>
                <b>and another title!!!!</b>
            </div>
        </div>

    </div>

因此,您可以将任何 html 内容和类值添加到元素中,以根据需要修改标题。

编辑

为了回应最新的评论,为了让 nivo 灯箱适合灯箱内的 html 内容的图像和屏幕分辨率,您需要指定属性height="100%"width="100%". 可以在下面找到一个非常粗略的示例,

http://jsfiddle.net/45nAc/show/

第一张图片是从 html 生成的

HTML

<p><a href="#test" data-lightbox-gallery="gallery1"><img alt="" src="http://farm6.staticflickr.com/5471/9036958611_fa1bb7f827_s.jpg"></a> <a title="Calm Before The Storm (One Shoe Photography Ltd.)" href="http://farm4.staticflickr.com/3824/9041440555_2175b32078_b.jpg" data-lightbox-gallery="gallery1"><img alt="" src="http://farm4.staticflickr.com/3824/9041440555_2175b32078_s.jpg"></a> <a title="Lambs Valley (JMImagesonline.com)" href="http://farm3.staticflickr.com/2870/8985207189_01ea27882d_b.jpg" data-lightbox-gallery="gallery1"><img alt="" src="http://farm3.staticflickr.com/2870/8985207189_01ea27882d_s.jpg"></a> <a title="Grasmere Lake (Phil 'the link' Whittaker (gizto29))" href="http://farm4.staticflickr.com/3677/8962691008_7f489395c9_b.jpg" data-lightbox-gallery="gallery1"><img alt="" src="http://farm4.staticflickr.com/3677/8962691008_7f489395c9_s.jpg"></a></p>
    <div id="test" style="display:none">
            <img width="100%" height="100%" alt="" src="http://farm6.staticflickr.com/5471/9036958611_fa1bb7f827_b.jpg"/>
        <div class="titles">
            <p> this is a title1 <br/>
                this is a <a href=#>title2</a>
            </p>
        </div>
    </div>

CSS

#test{
  width:100%;
  height:100%;       /*background:url('http://farm6.staticflickr.com/5471/9036958611_fa1bb7f827_b.jpg');*/
}

#test .titles {
    text-align:center;
}


.nivo-lightbox-theme-default .nivo-lightbox-ajax, .nivo-lightbox-theme-default .nivo-lightbox-inline{
    margin:0 !important;
    padding:0 !important;
    top:0;
    width:100%;
    height:100%;
    background-color:transparent;
    box-shadow:none;
}

准备好使用 css 并实现你需要的任何东西。

于 2013-11-12T17:10:15.783 回答