是否可以加载图像,在内存中缩放它并将其分配为背景图像的 uri
Is it possible to load image, scale it in memory and assign it as uri for background-image?
>我有一个翻转图像,它利用一个大的背景图像,根据鼠标所在的区域不断改变它的背景位置。
$(this).mouseover(function() {
$('#' + id).css('background-position','0 -' + thisoffset + 'px');
})
问题是我正在尝试使图像可缩放。使用普通的<img>
标签,我可以指定宽度/高度,它会缩放,但是背景图像没有这样的属性,那么您使用什么解决方案?
CSS3 具有背景大小的属性,但并非所有 Web 用户都有符合 CSS3 的浏览器...
====
===================笨拙,但我让它使用这种布局与 ggg 的答案一起工作
<div id="outer"
style="width:300px;height:330px;position:relative;overflow:hidden;">
<img id="image"
src="url.gif"
style="width:100%;height:auto;position:absolute;left:0;bottom:0;z-order:-99;" />
<img id="areamap"
src="transparent.gif"
style="width:100%;height:100%;position:absolute;"
usemap="#map" />
这样,我只需要指定一次容器宽度(div(。图像缩放到宽度 (100%(,高度使用相同的比例自动计算。映射的透明图像完全填充容器。
你回答了你自己的问题,这是CSS background-size
属性。您也可以使用 transform
.所有这些东西都是CSS3,在此之前没有办法做到这一点。
您可以做的是使用普通img
,缩放并更改其在剪辑div
中的位置。
HTML 将如下所示:
<div class="map-outer"><img src="map-sprite.png"></div>
CSS 将如下所示:
.map-outer { height: 500px; width: 500px; overflow: hidden; position: relative; }
.map-outer img { height: 5500px; width: 500px; position: absolute; }
现在,您可以按照之前设置 background-position
属性的相同方式在img
上设置 top
和left
CSS 属性。
你可以
css3 background-size
属性 对于 IE 和 IE,你可以使用 IE 过滤器。
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(
src='images/transparent-border.png',
sizingMethod='scale');
检查此 http://reference.sitepoint.com/css/filter
您可以尝试在图像上使用clip
CSS属性,仅显示您感兴趣的矩形;或者将其包装在带有overflow : hidden
的DIV中。
但这与兼容CSS3的浏览器并不完全相同。
相关文章:
- 使用 HTML 输出标记查看可缩放图像并分配 src
- 多个图像显示带有动态创建的画布的最后一个图像并分配给图像
- 使用 JQuery 从另一个元素的 id 为图像分配属性
- 将base64图像数据作为src分配给图像时,Firefox和Chrome上的结果不一致
- HTML服务为图像分配URL
- 如何分配在画布中绘制的图像的点击
- 如何使用在 javascript 中分配给图像的变量,并使用 switch 语句在 html 中显示它们
- JS循环图像文件夹,预加载它们并分配给数组
- 严格模式下的图像数据数据分配
- 将多个图像(文件)从一个文件输入分配给另一个文件输入 - 上传
- 将类分配给第一个图像
- 如何在 HTML 文件中分配图像
- 随机为图像分配一个值,然后传递动画
- 是否可以加载图像,在内存中缩放它并将其分配为背景图像的 uri
- 根据单元格的值将CSS生成的图像分配给表中的单元格
- 不能为动态创建的图像分配样式
- 如何在html中为图像分配数字
- 如何使用jquery-css将按钮的背景图像分配给变量
- 在动态情况下为相应的图像分配按钮
- 为不同的图像分配不同的链接,并让它在iframe容器上播放指定的(youtube)链接