【发布时间】:2016-09-05 17:18:39
【问题描述】:
【问题讨论】:
-
你检查答案了吗?
【问题讨论】:
好的,我现在明白你在问什么了。所以让我解释一下。
所有图像都有一个称为纵横比的东西。这可以是 1:1,这意味着每 1 像素(或任何您的测量单位)在另一侧就有 1 像素。然后 1:2 所以每 1px 在另一边有 2px 和 1:3, 1:4 ...等。
您想要的比例是 1:1 的比例,即 100px * 100px。
但这不能在不扭曲图像的情况下从具有其他纵横比的图像中强制执行。像 facebook 这样的公司通过创建图像的裁剪版本或为其设置 cover 的背景大小来做到这一点。
我的建议是创建一个高度和宽度为 100px 的 div 并将图像设置为背景图像,如下所示:
.divClass{
background-repeat:no-repeat;
background-size:cover;
width:100px;
height:100px;
}
接下来将以下内容添加到您的 php 代码中
<div class="divClass" style="background-image:url('image/location/<?php echo $imageName; ?>');">
这将允许图像完全填充 div,同时保持纵横比。缺点是如果图像的纵横比不是您想要达到的 1:1,则某些图像将不可见。此外,如果您想更改图像的位置,可以使用 background-position 属性。
如果您希望能够看到整个图像,您可以添加一个弹出框。
jQuery: How can I show an image popup onclick of the thumbnail?
您的最终解决方案是裁剪图像或允许用户在上传之前裁剪图像。下面是一个很棒的插件,可以实现这一点。
【讨论】:
如果你想强制 img 元素的宽度/高度,你可以使用:
img {
width: 100px;
height: 100px;
}
如果您正在使用其他一些覆盖默认 css 行为的库,您可以使用 !important:
img {
width: 100px !important;
height: 100px !important;
}
引导程序中的img-responsive 类将设置:
max-width: 100%;
height: auto;
到图像,如果你想要一个特定的宽度/高度 - 这不是你要找的。p>
【讨论】:
<td><div><img src=" . $row['product_image'] . " width='100' height='100' class='img-responsive'></div></td>