Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在没有Javascript或Jquery的情况下,如何切换背景颜色?_Javascript_Html_Css - Fatal编程技术网

在没有Javascript或Jquery的情况下,如何切换背景颜色?

在没有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

我喜欢在CSS的帮助下点击按钮来切换身体的背景色。有办法吗

函数更改颜色(颜色){
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不具备“备份”文档以影响父元素或其他祖先元素样式的功能。切换是指在两种不同颜色之间切换?