【发布时间】:2018-01-16 12:26:42
【问题描述】:
我正在 PHP/HTML5 中构建一个 CSS 网格布局,主要用于显示带有文本的图像,有时还结合视频显示(本示例中未使用)。仍然让我烦恼的一件事是加载图像时页面跳转。
为避免 img 标签应该事先知道抛出的 CSS 或其他比例,大多数使用的图像都有 1:1,414 的比例,但也有例外,因此仅使用一个比例是行不通的。在每个 img 标签上添加宽度和高度也不起作用。
我使用的是 base64 透明 gif,因此在下载真实图像之前它需要加载一些内容。在 CSS 中,每个图像之前都有一个占位符颜色(灰色),因此您可以看到正在加载的内容。图像宽度设置为 100%(这很好),高度在 CSS 中设置为自动。在这里展示一小部分用于网格和放置图像的 HTMl+CSS 编码:
.grid-container img {
display: block;
width: 100%;
height: auto;
}
.grid-1,
.grid-2,
.grid-2-left,
.grid-3,
.grid-3-left,
.grid-3-thumb,
.grid-4,
.grid-4-left,
.grid-4-thumb {
align-self: center;
/* start | end | center | stretch */
position: relative;
/* for title-project placement */
background-color: #ccc;
/* placeholder */
}
.grid-2,
.grid-2-txt {
grid-column: span 6;
}
<div class="grid-2">
<img src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://i.imgur.com/eys1d9h.jpg" class="lazyload" alt="<?php echo $title; ?>">
</div>
【问题讨论】:
标签: html css image grid-layout