是否有仅css的解决方案将图像缩放到边框(保持纵横比)?如果图像大于容器,则此方法有效:
img {
max-width: 100%;
max-height: 100%;
}
不,没有唯一的CSS双向方式可以做到这一点。您可以添加
.fillwidth {
min-width: 100%;
height: auto;
}
对于一个元素,使其始终具有100%的宽度,并自动将其高度缩放为长宽比, 或 反之:
.fillheight {
min-height: 100%;
width: auto;
}
始终缩放到最大高度和相对宽度。为此,您需要确定纵横比是高于还是低于容器,而CSS无法做到这一点。
原因是CSS不知道页面的外观。它会预先设置规则,但只有在此之后,元素才会被渲染,并且您确切知道要处理的大小和比率。检测到该错误的唯一方法是使用JavaScript。
尽管您并不是在寻找JS解决方案,但如果有人需要,我还是会添加一个。用JavaScript处理此问题的最简单方法是根据比率差异添加一个类。如果框的宽高比大于图像的宽高比,请添加类“
fillwidth”,否则添加类“ fillheight”。
$('div').each(function() {
var fillClass = ($(this).height() > $(this).width())
? 'fillheight'
: 'fillwidth';
$(this).find('img').addClass(fillClass);
});
.fillwidth {
width: 100%;
height: auto;
}
.fillheight {
height: 100%;
width: auto;
}
div {
border: 1px solid black;
overflow: hidden;
}
.tower {
width: 100px;
height: 200px;
}
.trailer {
width: 200px;
height: 100px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="tower">
<img src="http://placekitten.com/150/150" />
</div>
<div class="trailer">
<img src="http://placekitten.com/150/150" />
</div>
我有一个表单,允许用户上传图像。 加载映像后,我们对其执行一些缩放,以便在将其传递回服务器之前减小其文件大小。 为此,我们将其放置在画布上并在画布上进行操作。 这段代码将在画布上呈现缩放后的图像,画布大小为320 x 240px: ... 哪里有帆布。宽度和画布。高度是图像高度和宽度x,是基于原始图像大小的比例因子。 但当我使用代码时: ...我只得到画布上图像的一部分,在这种情况下是左上角。我需
问题内容: 我正在尝试缩小美国地图。要么是我的SVG,要么是手动的。 这是我的代码中最简单的: 我已经尝试过类似的东西: 但是每次我在路径变量中添加任何内容时,我都会从D3的内部收到NAN错误。谢谢你的帮助! 问题答案: 关键问题是您的数据 已经被 投影。D3 geoProjections使用未投影的数据或成对的数据。WGS84基准中的数据。实质上,d3 geoProjection会采用球面坐标并
问题内容: 在JavaScript / jQuery中,如何缩放固定宽度Div内的可变长度文本行,以使一行始终适合Div内(作为一行)? 谢谢。 问题答案: 这有点骇人听闻,但可以满足您的要求。 将其放置在页面底部,该位置将不会移动页面上的其他元素。 然后执行以下操作:
如何设置视图以在地图框或传单中查看地图上的所有标记?就像谷歌地图API对? 例如:
你知道吗?
以下是CardView的XML代码: 我尝试对ImageView(和LinearLayout)的属性使用wrap_content,并尝试包含属性android: caleType="fitXY",但它没有帮助,似乎没有任何效果。 谁能帮我一下吗?我非常感谢您的每一句评论,也非常感谢您的帮助。