html - 使用 onclick 设置带有字幕的图片库

标签 html css

我正在尝试为图库类中的图片添加标题。我使用的代码如下。显示图片时效果很好,但我不知道如何将图片标题合并到该代码中。我需要什么样的字幕代码?

<div class="gallery" align="center">
    <div class="thumbnails">
        <img onclick="preview.src=harlaxton.src" name="harlaxton" src="harlaxton.jpg"   alt="" />
        <img onclick="preview.src=harlaxton2.src" name="harlaxton2" src="harlaxton2.jpg" alt="" />
        <img onclick="preview.src=london.src" name="london" src="london.jpg" alt="" />
        <img onclick="preview.src=londonroad.src" name="londonroad" src="londonroad.jpg" alt="" />
        <img onclick="preview.src=mathbridge.src" name="mathbridge" src="mathbridge.jpg" alt="" />
        <img onclick="preview.src=ireland.src" name="ireland" src="ireland.jpg" alt="" />
        <img onclick="preview.src=cliffs.src" name="cliffs" src="cliffs.jpg" alt="" />
        <img onclick="preview.src=scotland.src" name="scotland" src="scotland.jpg" alt="" />
    </div>
    <div class="preview" align="center">
        <img name="preview" src="harlaxton.jpg" alt=""/>
    </div>

最佳答案

您可以使用 <div>并给出 position像这样:

.preview {position: relative; width: 150px;}
.preview img {display: block;}
.caption {position: absolute; bottom: 0; left: 0; right: 0; text-align: center; background-color: rgba(0,0,0,0.25); padding: 5px;}
<div class="gallery" align="center">
  <div class="thumbnails">
    <img onclick="preview.src='//placehold.it/150?text=Big-1'; caption.innerHTML=this.name;" name="Image 1" src="//placehold.it/50?text=1" alt="" />
    <img onclick="preview.src='//placehold.it/150?text=Big-2'; caption.innerHTML=this.name;" name="Image 2" src="//placehold.it/50?text=2" alt="" />
    <img onclick="preview.src='//placehold.it/150?text=Big-3'; caption.innerHTML=this.name;" name="Image 3" src="//placehold.it/50?text=3" alt="" />
    <img onclick="preview.src='//placehold.it/150?text=Big-4'; caption.innerHTML=this.name;" name="Image 4" src="//placehold.it/50?text=4" alt="" />
    <img onclick="preview.src='//placehold.it/150?text=Big-5'; caption.innerHTML=this.name;" name="Image 5" src="//placehold.it/50?text=5" alt="" />
    <img onclick="preview.src='//placehold.it/150?text=Big-6'; caption.innerHTML=this.name;" name="Image 6" src="//placehold.it/50?text=6" alt="" />
    <img onclick="preview.src='//placehold.it/150?text=Big-7'; caption.innerHTML=this.name;" name="Image 7" src="//placehold.it/50?text=7" alt="" />
    <img onclick="preview.src='//placehold.it/150?text=Big-8'; caption.innerHTML=this.name;" name="Image 8" src="//placehold.it/50?text=8" alt="" />
  </div>
  <div class="preview" align="center">
    <img name="preview" src="//placehold.it/150?text=Big-1" alt=""/>
    <div class="caption" id="caption">Image 1</div>
  </div>
</div>

但正确的方法是使用<figure><figcaption> :

.preview {position: relative; width: 150px;}
.preview img {display: block;}
.caption {position: absolute; bottom: 0; left: 0; right: 0; text-align: center; background-color: rgba(0,0,0,0.25); padding: 5px;}
<div class="gallery" align="center">
  <div class="thumbnails">
    <img onclick="preview.src='//placehold.it/150?text=Big-1'; caption.innerHTML=this.name;" name="Image 1" src="//placehold.it/50?text=1" alt="" />
    <img onclick="preview.src='//placehold.it/150?text=Big-2'; caption.innerHTML=this.name;" name="Image 2" src="//placehold.it/50?text=2" alt="" />
    <img onclick="preview.src='//placehold.it/150?text=Big-3'; caption.innerHTML=this.name;" name="Image 3" src="//placehold.it/50?text=3" alt="" />
    <img onclick="preview.src='//placehold.it/150?text=Big-4'; caption.innerHTML=this.name;" name="Image 4" src="//placehold.it/50?text=4" alt="" />
    <img onclick="preview.src='//placehold.it/150?text=Big-5'; caption.innerHTML=this.name;" name="Image 5" src="//placehold.it/50?text=5" alt="" />
    <img onclick="preview.src='//placehold.it/150?text=Big-6'; caption.innerHTML=this.name;" name="Image 6" src="//placehold.it/50?text=6" alt="" />
    <img onclick="preview.src='//placehold.it/150?text=Big-7'; caption.innerHTML=this.name;" name="Image 7" src="//placehold.it/50?text=7" alt="" />
    <img onclick="preview.src='//placehold.it/150?text=Big-8'; caption.innerHTML=this.name;" name="Image 8" src="//placehold.it/50?text=8" alt="" />
  </div>
  <figure class="preview" align="center">
    <img name="preview" src="//placehold.it/150?text=Big-1" alt=""/>
    <figcaption class="caption" id="caption">Image 1</figcaption>
  </figure>
</div>

关于html - 使用 onclick 设置带有字幕的图片库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36985299/

相关文章:

javascript - jQuery: event.preventdefault();

css - 使用 CSS 定位特定的小部件标题

css - 有没有办法在 Less 中获取另一个元素值?

javascript - 使用输入类型=文件选择文件并使用 ng-repeat 显示路径后触发函数

css - Slicing a box IE7间距问题

jquery - 将标题标签对齐为空格

HTML5 有效元数据列表?

javascript - jQuery .click() 函数不起作用

html - 不同于 1 或 0 的 CSS 不透明度在 IE11 中不起作用

javascript - 在父 div 缩小时隐藏子 <div>?