如何显示画廊的第一张图片?
How to display first image of gallery?
当使用 Thymeleaf 呈现框架使用特定目录中可用的图像请求页面时,我有一个图像容器填充(因此图像数量是可变的):
<div id="lightgallery">
<a th:each="i : ${content.images}}"><img th:src="i"></a>
</div>
执行此操作时,所有图像都显示在彼此下方的页面上(而我只想将第一张图像显示为占位符)。当我单击其中之一时,灯库将打开,并以缩略图形式显示图像。
我现在想隐藏除第一个图像之外的所有图像,它将作为画廊的占位符。单击它将打开画廊,其中占位符图像成为画廊的第一张图像。有点像这样:
<div id="lightgallery">
<a><img src="first.png"></a>
<a th:each="img, i : ${content.images}}" th:if="${i > 0}"><img th:src="i"></a>
</div>
您可以使用 属性 ${i.first}
来判断它是否是第一张图片。这是我的做法:
<div id="lightgallery">
<a th:href="${content.images[0]}"><img th:src="${content.images[0]}" /></a>
<a th:href="${image}"
style="display: none;"
th:each="image, i: ${content.images}"
th:unless="${i.first}"><img th:src="${image}" /></a>
</div>
您可以通过将第一张图像与循环一起渲染来使其更清晰。考虑声明一个 CSS class 'hidden' 用于显示:none 并将其用于第二张图像
<div id="lightgallery">
<a th:each="image, iter : ${content.images}" th:class="${!iter.first} ? hidden">
<img th:src="${image}">
</a>
</div>
当使用 Thymeleaf 呈现框架使用特定目录中可用的图像请求页面时,我有一个图像容器填充(因此图像数量是可变的):
<div id="lightgallery">
<a th:each="i : ${content.images}}"><img th:src="i"></a>
</div>
执行此操作时,所有图像都显示在彼此下方的页面上(而我只想将第一张图像显示为占位符)。当我单击其中之一时,灯库将打开,并以缩略图形式显示图像。
我现在想隐藏除第一个图像之外的所有图像,它将作为画廊的占位符。单击它将打开画廊,其中占位符图像成为画廊的第一张图像。有点像这样:
<div id="lightgallery">
<a><img src="first.png"></a>
<a th:each="img, i : ${content.images}}" th:if="${i > 0}"><img th:src="i"></a>
</div>
您可以使用 属性 ${i.first}
来判断它是否是第一张图片。这是我的做法:
<div id="lightgallery">
<a th:href="${content.images[0]}"><img th:src="${content.images[0]}" /></a>
<a th:href="${image}"
style="display: none;"
th:each="image, i: ${content.images}"
th:unless="${i.first}"><img th:src="${image}" /></a>
</div>
您可以通过将第一张图像与循环一起渲染来使其更清晰。考虑声明一个 CSS class 'hidden' 用于显示:none 并将其用于第二张图像
<div id="lightgallery">
<a th:each="image, iter : ${content.images}" th:class="${!iter.first} ? hidden">
<img th:src="${image}">
</a>
</div>