【问题标题】:hover link to change *PAGE* background color with css悬停链接以使用 css 更改 *PAGE* 背景颜色
【发布时间】:2013-01-13 04:51:47
【问题描述】:

是否可以在使用 css 将鼠标悬停在页面上单独 div 中的不同链接上时更改整个页面背景?我对JS不是很有经验,所以如果JS是强制性的,就需要解释一下。感谢任何帮助。谢谢!

【问题讨论】:

    标签: css background hover


    【解决方案1】:

    div background color, to change onhover

    这可能会对你有所帮助。

    使用 javascript,您可以:

    <div onmouseover="document.body.backgroundColor='yourColor';"> </div>
    

    【讨论】:

      【解决方案2】:

      单独使用 CSS,不可能影响悬停元素的祖先的样式。您的问题需要 JavaScript。

      【讨论】:

        【解决方案3】:

        嗯,这是有可能的。您实际上不会更改页面的背景,但效果会相似。

        Take a look at the code.

            body {
                background: lightblue;
            }
            a:hover:before {
                content: '';
                position: absolute;
                display: block;
                top: 0; bottom: 0; left: 0; right: 0;
                z-index: -1;
            }
            li:nth-of-type(1) a:hover:before {
                background-color: blue;
            }
            li:nth-of-type(2) a:hover:before {
                background-color: red;
            }
            li:nth-of-type(3) a:hover:before {
                background-color: green;
            }
        

        基本上,当光标悬停在链接上时,您只需创建一个伪元素。该伪元素的上、下、左、右的绝对位置等于 0,将占据整个屏幕,并给它一个 z-index -1 将确保它低于页面上的所有其他元素。当然,您在相应的伪元素中声明背景颜色或图像。

        不过,有一个缺点。它不太灵活。例如,如果任何祖先元素的位置不是静态(默认),这将有点难以实现——如果不是不可能的话——因为您必须调整顶部、底部、左侧和右侧属性。

        【讨论】:

          【解决方案4】:

          鼠标悬停时缺少style:

          class="test" onmouseover="document.body.style.backgroundColor='red';"
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2017-08-02
            • 2012-11-11
            • 1970-01-01
            • 2017-04-12
            • 2021-03-18
            • 1970-01-01
            • 1970-01-01
            • 2014-04-09
            相关资源
            最近更新 更多