Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 通过使用宽度和高度属性缩放图像以适应指定的矩形_Html_Image_Image Scaling - Fatal编程技术网

Html 通过使用宽度和高度属性缩放图像以适应指定的矩形

Html 通过使用宽度和高度属性缩放图像以适应指定的矩形,html,image,image-scaling,Html,Image,Image Scaling,假设我有一个矩形区域(例如由div定义),具有指定的宽度和高度。我有一张大小和纵横比都不可预测的图像 如果我想让图像与给定的矩形区域相匹配,并保持原始的纵横比,我该怎么做 如果我事先知道哪一边会受到限制,我只能指定一个维度。例如,如果矩形的大小为200x100 px,图像的大小为400x300 px,我可以使用代码,图像将保持其纵横比,并将进入我的矩形。但如果矩形为100x100px,则图像将从矩形的侧面消失 因此,我唯一能做的事情就是找出图像的大小,做一些简单的计算来定义图像的宽度和高度:保持

假设我有一个矩形区域(例如由
div
定义),具有指定的宽度和高度。我有一张大小和纵横比都不可预测的图像

如果我想让图像与给定的矩形区域相匹配,并保持原始的纵横比,我该怎么做

如果我事先知道哪一边会受到限制,我只能指定一个维度。例如,如果矩形的大小为200x100 px,图像的大小为400x300 px,我可以使用
代码,图像将保持其纵横比,并将进入我的矩形。但如果矩形为100x100px,则图像将从矩形的侧面消失

因此,我唯一能做的事情就是找出图像的大小,做一些简单的计算来定义图像的宽度和高度:保持原始比例,并适合所有可能的组合在指定的矩形中


但它看起来有点复杂,需要在服务器端使用图形库。可能我错过了一些HTML功能吗?

您可以通过放置此CSS代码来实现这一点



还是相反

min-height: 100%; width: auto;

示例

HTML

或-------------------------------

.bounding-box {
  background-image: url(...);
  background-size: contain;
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  height: 100%;
  width: 100%;
}
简单

<div id="rectangle" style="width:auto; height:auto;">
    <img src="link/to/my/image.jpg" width="100px" height="100px">
</div>


#矩形{宽度:自动;高度:自动;}

除非我误解了您的意图,否则如果矩形的宽度和高度是固定的,只需将其中图像元素的最大宽度和最大高度设置为100%

大概是这样的:

CSS:

HTML:



据我所知,如果image.jpg的大小为200 x 100像素,它将真实显示,您是否在寻找图像。对吗?我想保持原来的纵横比。我得到了我所期望的:小正方形(比原来的盒子小)的纵横比不正确。你能发布一张图片吗?好的,我看到的第一个错误是在“Alt”之后,它应该是“Alt=”Title“,老实说,我不知道你怎么能做到这一点。。。很抱歉,我试了第一个。在我的案例中,最小宽度为100%**最大宽度:100%;**高度:自动所以我认为这是一些情况(例如,图像小于矩形)我会得到错误的结果…好吧,这一切你可以做的,这是正确的答案,如果你想让图像小于你可以使用填充XX px根据你的需要,它会给你的盒子的所有边界的一些间隙,这将使你的图像适合。如果图像将小于容器,我会得到它较小?否,如果图像小于容器,它将以正常尺寸显示,而不是缩放。仅当其大于容器的高度或宽度时,才会缩放。
.bounding-box {
  background-image: url(...);
  background-repeat: no-repeat;
  background-size: contain;
}
.bounding-box {
  background-image: url(...);
  background-size: contain;
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  height: 100%;
  width: 100%;
}
<div id="rectangle" style="width:auto; height:auto;">
    <img src="link/to/my/image.jpg" width="100px" height="100px">
</div>
<style>
#rectangle {width:auto; height:auto;}
</style>

<div id="rectangle">
    <img src="link/to/my/image.jpg" width="100px" height="100px">
</div>
.container {
    width: 600px;
    height: 600px;
    overflow: hidden;
    border: 1px blue dotted;
}
.container > img {
    max-height: 100%;
    max-width: 100%;
}
<div class="container"><img src="http://img-fotki.yandex.ru/get/9088/855366.8a/0_a3175_3d12a514_orig.png"></div>