[英]Changing CSS from JS doesn't work
所以我试图在window.innerWidth
大于750px的条件下更改元素的css属性。 我正在使用Javascript执行此操作,但是遇到了一些困难。
我看不到代码中的任何错误,因此有人对它可能有什么建议吗?
这是我正在使用的:
window.addEventListener("resize", function(){
if (window.innerWidth > 750) {
document.getElementById("header").style.height = "100vh";
} else {
//do nothing
}
});
这是我要为其添加height
条目的标头的CSS代码:
header {
text-align: center;
color: #fff;
background: #18bc9c;
}
我注意到您正在使用document.getElementById("header")
,但您的CSS定义为header {...}
。 在第一种情况下,您的代码按ID搜索,在第二种情况下,其按标记名搜索。
除非您的标头同时使用标头标记和标头ID( <header id="header">...</header>
),否则您可能会使用以下两种错误之一:
document.getElementsByTagName(tagname)
。 #header {...}
。 另外,您的案例引出了一个问题,为什么要使用Javascript来执行此操作! 您为什么不只使用媒体查询? 您应该始终避免使用Javascript做这种事情!
媒体查询是根据屏幕宽度更改样式的默认方法 。 它们提供最佳性能,并具有强大的浏览器支持。
如果要按ID选择,请尝试以下代码:
#header {
text-align: center;
color: #fff;
background: #18bc9c;
height: auto;
}
@media screen and (min-width: 751px) {
#header {
height: 100vh;
}
}
如果要按标记名选择,请尝试以下代码:
header {
text-align: center;
color: #fff;
background: #18bc9c;
height: auto;
}
@media screen and (min-width: 751px) {
header {
height: 100vh;
}
}
我错过了分号:
var windowWidth = window.innerWidth;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.