Background-size and background-position on an img tag
我有一个可以使用JS lib裁剪的图像。 lib返回所选内容的x,y,宽度和高度。
最初,逻辑只是几张上载的图像(在
问题-有没有一种方法可以将所有
如果您不关心IE,则可以使用
1 2 3 4 | img { object-fit: cover; object-position: center top; } |
实现此目的的最佳方法是将任何html元素与css background属性结合使用。在该属性中,您可以将边距定义为要定位和调整背景图像大小的尺寸。在您的情况下,该元素将具有您的裁剪库给定的宽度和高度。背景图像的位置将为x和y(同样来自库),但取反。
不管使用哪个元素都可以,可以是任何元素(请参阅w3.org/TR/CSS2/colors.html),其中包含img标签,如以下示例所示:
1 | <img border="0" style="display:block; width:120px; height:120px; background-color:red; padding:9px; background:url(http://www2.cnrs.fr/sites/communique/image/mona_unvarnish_web_image.jpg) no-repeat; background-position:-100px -40px;" /> |
请注意,如果您使用图片标签,则必须删除
尽管如此,我还是建议您使用JavaScript库/插件,而不要自己编写。有很多解决方案:
- JCrop(jQuery插件)
- ImageAreaSelect(jQuery插件
- Uvumitools Crop(Mootools插件)
- JS Cropper UI(基于脚本和原型)
没有简单的方法。如果包含以下指向一个答案的链接,则表示同意。您可以使用javscript将部分图像渲染到画布上,然后使用我在下面的(画布方法)下发布的答案将生成的图像设置为图像标签src属性。
同意答案:
偏移标签中的可见图像与背景图像相同
画布方法:
我可以从canvas元素获取图像并在img src标签中使用它吗?