好的,我明白了。
不知道是不是太晚了还是怎么了,但我想出了一个 100% 纯 CSS 方法来创建方形缩略图。这是我长期以来一直试图找到解决方案但没有运气的东西。通过一些实验,我得到了它的工作。要使用的主要两个属性是 OVERFLOW:HIDDEN 和 WIDTH/HEIGHT:AUTO。
好的,这是要做的:
假设您有一批不同形状和大小的图像,一些是风景的,一些是肖像的,但当然都是矩形的。首先要做的是使用类选择器按纵向或横向对图像链接(缩略图)进行分类。好的,假设您只想创建两个缩略图,以使其更简单。你有:
img1.jpg(纵向)和 img2.jpg(横向)
对于 HTML,它看起来像这样:
<a class="portrait" href="yoursite/yourimages/img1.jpg"><img src="yoursite/yourimages/img1.jpg /></a>
<a class="landscape" href="yoursite/yourimages/img2.jpg"><img src="yoursite/yourimages/img2.jpg /></a>
因此,此时由于还没有 css,上面的代码将为您提供全尺寸图像作为缩略图,该缩略图将链接到相同的全尺寸图像。对,所以这是纵向和横向的 css。每个都有两个声明(链接和链接的图像):
.landscape {
float:left;
width:175px;
height:175px;
overflow:hidden;
}
.landscape img{
width:auto;
height: 175px;
}
.portrait {
float:left;
width:175px;
height:175px;
overflow:hidden;
}
.portrait img {
width:175px; <-- notice these
height: auto; <-- have switched
}
最重要的是宽度和高度以及溢出:隐藏。向左浮动不是此工作所必需的。
在横向缩略图声明 (.landscape) 中,边界框设置为 175 x 175,溢出设置为隐藏。这意味着任何大于包含 175px 正方形的视觉信息都将从视图中隐藏。
对于横向图像声明(.landscape img),高度固定为175px,调整原始高度,宽度设置为auto,调整原始宽度,但仅与边界正方形相关,即在这种情况下是 175px。因此,与其将宽度向下涂抹到正方形中,它只是简单地填充正方形,然后宽度中的任何额外视觉信息(即溢出)被溢出隐藏起来:隐藏。
它对纵向的工作方式相同,只是切换了宽度和高度,其中高度为自动,宽度为 175px。基本上在每种情况下,任何超过另一个的尺寸都设置为自动,因为自然较大的尺寸会溢出设置的缩略图尺寸(175px x 175x)之外。
如果你想在拇指之间添加边距,例如5px的白色边距,你可以使用border属性,否则信息溢出的地方将没有边距。
希望这是有道理的。