javascript - 将图像比例调整为浏览器大小的算法

标签 javascript html css image algorithm

<分区>

我需要一个CSS的算法/数学计算background . 当我们为页面编写样式时,有时我们使用 background-image 作为元素背景样式,语法如下:background: url('img.jpg') center top;这种样式使浏览器可以在浏览器尺寸更改时自动更改背景图像尺寸,而且我们只能看到样式元素的中心侧。 但也许我们需要一个图像(在我的例子中),没有背景属性,像这样:<img src="img.jpg"> .下面的最后一个例子是我的问题。我想自动更改它,并且只会像 css 的背景属性一样显示在图像的中心侧。 现在,我正在考虑使用 javascript 来解决这个问题,但我需要一个来自浏览器的算法。它如何根据浏览器大小调整图像大小以及如何仅显示图像的中心侧...

所以我的意思是如何在 javascript 中从 background-position:center; 获得相同的结果

我希望你明白我想要什么...

最佳答案

你在找类似 this 的东西吗? ?

html:

full image:<br/>
<img src="http://lorempixel.com/400/200"></img><br/>
smaller, centered image:<br/>
<div class="container"><img src="http://lorempixel.com/400/200"></img></div>

CSS:

.container{
    width: 200px;
    height: 150px;
    text-align: center;
    overflow: hidden;
}

.container img{
    position: relative;
    top: 50%;
    left: 50%;
    margin-top: -100px;
    margin-left: -200px;
}

css可以实现很多,你不必总是去寻找js。如果要更改图像,只需将 margin-left/margin-top 属性更改为图像宽度/高度的一半即可。

关于javascript - 将图像比例调整为浏览器大小的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23792751/

上一篇:css - 为什么固定间距、固定宽度列的内联 block 属性会引入滚动条

下一篇:jquery - 如何显示一个元素,做其他事情,然后在一次点击事件中隐藏该元素?

相关文章:

javascript - 获取chrome.tabs.captureVisibleTab的图片文件

javascript - 如何在Javascript中使用变量来表示数学符号?

javascript - 使用 beautiful soup 4 抓取天气数据(网站是用 javascript 编码的)

CSS 转换不适用于内联元素

javascript - 为所有页面执行用户指定的 javascript

javascript - 如何定位 svg 图像的一部分

javascript - 如何使用 Javascript 构建无限可扩展的表单?

javascript - 如何将此菜单的可点击区域限制为其文本?

html - 在MSIE下将select的选项显示样式更改为none

css - 在 ReactJs 组件中添加或删除类