Javascript 如何为背景图像提供(100%-40px)高度?

Javascript 如何为背景图像提供(100%-40px)高度?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一张背景图片,带有背景附件:已修复。我想将其高度设置为比视口高度小40px。设置背景大小:100%将高度设置为视口的高度。但是背景大小:100%计算(100%-40px)什么都不做 背景实际上是在一个引导网站上提供给carousel的图像。为其提供背景图像的图像具有类.items.active。我还为那些不允许calc()函数的浏览器寻找javascript回退。我不太懂javascript。我尝试了以下jquery代码: $(".item.active").css('background-

我有一张背景图片,带有
背景附件:已修复
。我想将其高度设置为比视口高度小40px。设置背景大小:100%将高度设置为视口的高度。但是
背景大小:100%计算(100%-40px)什么都不做

背景实际上是在一个引导网站上提供给carousel的图像。为其提供背景图像的图像具有类
.items.active
。我还为那些不允许
calc()
函数的浏览器寻找javascript回退。我不太懂javascript。我尝试了以下jquery代码:

$(".item.active").css('background-size', '100% 100%').css('background-size', '-=100px -=100px');
但它也不起作用。据我所知,我尝试了简单的javascript:

document.getElementsByClassName(".item.active")[0].style.background-size = "100% calc(100%-40px)";
但这也不起作用。

使用css计算

使用css计算


这个应该有用。只需删除代码中宽度和高度之间的“负号”

background-size: 100% calc(100% - 40px);
javaScript中有一个输入错误: 应该是

样式背景尺寸

而不是

样式背景尺寸


这个应该有用。只需删除代码中宽度和高度之间的“负号”

background-size: 100% calc(100% - 40px);
javaScript中有一个输入错误: 应该是

样式背景尺寸

而不是

样式背景尺寸

试试下面的方法

var width = $(".item.active").width();//get the width
var height = $(".item.active").height();//get the height

$(".item.active").css('background-size', (width-100)+'px '+(height-100)+'px');//change the size of the background
注:你的背景需要在中间DIV

尝试下面的

var width = $(".item.active").width();//get the width
var height = $(".item.active").height();//get the height

$(".item.active").css('background-size', (width-100)+'px '+(height-100)+'px');//change the size of the background


注释:你的背景需要在DIV

中间,为什么<代码>背景大小:100% -Calc(100% -40px);<代码>和非
背景尺寸:100%计算(100%-40px)?我想你有一个打字错误,否则应该可以。计算将从100%中减去40px。
style.background size
-再次出现错误。应该是
.style.backgroundSize
@Harry是的,这是个打字错误。我使用了
背景尺寸:100%calc(100%-40px)但它不起作用。给我们看看你的实际代码@user31782@Harry它现在起作用了。为什么
背景大小:100%-calc(100%-40px)和非
背景尺寸:100%计算(100%-40px)?我想你有一个打字错误,否则应该可以。计算将从100%中减去40px。
style.background size
-再次出现错误。应该是
.style.backgroundSize
@Harry是的,这是个打字错误。我使用了
背景尺寸:100%calc(100%-40px)
但它不起作用。请在@user31782时显示您的实际代码。@Harry它现在起作用了。但这会改变
div的宽度。你看过我的问题了吗?我正在使用的
div
已经具有适当的宽度和高度。而且改变div
div
;s尺寸不会更改背景图像的尺寸。设置左右边距或边距或使用宽度:90%;设置填充和边距不会影响固定背景图像的尺寸。”-1.这与宽度无关。但这会改变
div
的宽度。你看过我的问题了吗?我正在使用的
div
已经具有适当的宽度和高度。而且改变div
div
;s尺寸不会更改背景图像的尺寸。设置左右边距或边距或使用宽度:90%;设置填充和边距不会影响固定背景图像的尺寸。”-1.这不是宽度的问题。啊,是的,它正在工作。您还可以告诉我
calc()
函数的javascript回退。还有一个输入错误。它应该是
document.getElementsByClassName(“项目活动”)[0]。
@user31782尝试这一个
document.getElementsByClassName(“项目活动”)[0]。style.backgroundSize=“100%计算(100%-40px)”您的JavaScriptAh中有一个输入错误是的,它正在工作。您还可以告诉我
calc()
函数的javascript回退。还有一个输入错误。它应该是
document.getElementsByClassName(“项目活动”)[0]。
@user31782尝试这一个
document.getElementsByClassName(“项目活动”)[0]。style.backgroundSize=“100%计算(100%-40px)”您的JavaScript中有一个输入错误