在没有Javascript或Jquery的情况下,如何切换背景颜色?
我喜欢在CSS的帮助下点击按钮来切换身体的背景色。有办法吗在没有Javascript或Jquery的情况下,如何切换背景颜色?,javascript,html,css,Javascript,Html,Css,我喜欢在CSS的帮助下点击按钮来切换身体的背景色。有办法吗 函数更改颜色(颜色){ document.body.style.background=颜色; } 函数颜色(){ 变色(“黄色”); } 点击这里 您需要某种JavaScript来更改颜色。使用类名是个好主意。因此,您可以使用body元素的classList上的toggle函数来实现这一点 document.getElementById('toggle_bg')。addEventListener('click',e=>{ docu
函数更改颜色(颜色){
document.body.style.background=颜色;
}
函数颜色(){
变色(“黄色”);
}
点击这里
您需要某种JavaScript来更改颜色。使用类名是个好主意。因此,您可以使用body元素的classList上的toggle函数来实现这一点
document.getElementById('toggle_bg')。addEventListener('click',e=>{
document.body.classList.toggle('yellow');
});代码>
正文{
背景颜色:浅黄色;
}
身体,黄色{
背景颜色:黄色;
}
单击此处
您需要某种JavaScript来更改颜色。使用类名是个好主意。因此,您可以使用body元素的classList上的toggle函数来实现这一点
document.getElementById('toggle_bg')。addEventListener('click',e=>{
document.body.classList.toggle('yellow');
});代码>
正文{
背景颜色:浅黄色;
}
身体,黄色{
背景颜色:黄色;
}
单击此处
纯CSS解决方案是使用复选框
并创建另一个具有所需颜色的div
。然后使用:checked
可以检查是否选中了复选框
,并根据它更改div的显示
属性
*{
保证金:0;
填充:0;
}
身体{
背景色:白色;
}
.bg{
宽度:100vw;
高度:100vh;
背景颜色:黄色;
z指数:-1;
位置:绝对位置;
排名:0;
显示:无;
}
.toggle:选中+.bg{
显示:块;
}
纯CSS解决方案是使用复选框
并创建另一个具有所需颜色的div
。然后使用:checked
可以检查是否选中了复选框
,并根据它更改div的显示
属性
*{
保证金:0;
填充:0;
}
身体{
背景色:白色;
}
.bg{
宽度:100vw;
高度:100vh;
背景颜色:黄色;
z指数:-1;
位置:绝对位置;
排名:0;
显示:无;
}
.toggle:选中+.bg{
显示:块;
}
仅使用CSS实际上无法更改body元素本身的背景色。CSS不提供影响父母/祖先元素的方法,仅影响兄弟姐妹和子女。然而,你可以让它看起来好像你有办法
它不能用按钮元素来完成,但可以用单选类型的输入元素来完成——这样你可以有几个“按钮”,允许用户选择不同的颜色
在这个片段中,无线电输入在聚焦时有一个伪after元素。此伪元素具有视口的高度和宽度,并绝对定位。按钮本身没有显式的定位,因此伪元素相对于其最近的祖先进行定位,该祖先有一个位置,在本例中,它是body元素
正文{
保证金:0;
填充:0;
}
输入:checked::before{
内容:'';
背景色:var(--bg);
宽度:100vw;
高度:100vh;
位置:绝对位置;
排名:0;
左:0;
z指数:-1;
}
红色
蓝色
仅使用CSS实际上无法更改body元素本身的背景色。CSS不提供影响父母/祖先元素的方法,仅影响兄弟姐妹和子女。然而,你可以让它看起来好像你有办法
它不能用按钮元素来完成,但可以用单选类型的输入元素来完成——这样你可以有几个“按钮”,允许用户选择不同的颜色
在这个片段中,无线电输入在聚焦时有一个伪after元素。此伪元素具有视口的高度和宽度,并绝对定位。按钮本身没有显式的定位,因此伪元素相对于其最近的祖先进行定位,该祖先有一个位置,在本例中,它是body元素
正文{
保证金:0;
填充:0;
}
输入:checked::before{
内容:'';
背景色:var(--bg);
宽度:100vw;
高度:100vh;
位置:绝对位置;
排名:0;
左:0;
z指数:-1;
}
红色
蓝色
只要您使用onclick,这就是一种catch-22CSS,它只能用于设置所选元素的样式。不能仅使用CSS根据按钮设置背景样式。此CSS需要JavaScript,但不具备“备份”文档以影响父元素或其他祖先元素样式的功能。通过切换,您的意思是在两种不同颜色之间切换?只要您使用onclick,这就是一种catch-22CSS,它只能用于设置所选元素的样式。不能仅使用CSS根据按钮设置背景样式。您需要JavaScript来实现此功能CSS不具备“备份”文档以影响父元素或其他祖先元素样式的功能。切换是指在两种不同颜色之间切换?