css - 如何将鼠标悬停在 div 上以仅更改其背景的一部分?

标签 css

我搜索了很多相关内容,找到了如何在将鼠标悬停在一个 div 上时更改另一个 div 的内容,还找到了如何更改其元素——如背景颜色、字体、字体颜色。

这是我到目前为止能够得到的

HTML

<!DOCTYPE html>
<html>
    <head>
        <link rel="stylesheet" href="stylesheet.css"/>
        <title>Fancy Fonts</title>
    </head>
    <body>
        <div class="test">
            Change me on hover!
        </div>
    </body>
</html>

CSS

div.test
{
    background-color: black;
    color: white;
}

div.test:hover
{
    background-color: grey;
}

但是这改变了整个 div 的背景颜色,我需要它改变,比如说,只改变它的上半部分,但是没有 JS 或任何东西,只有 CSS。 p>

最佳答案

你可以用渐变来做到这一点。

JSFiddle

.test {
     height:100px;
     background:linear-gradient(black 50%,red 50%, red); 
}

.test:hover {
     background:linear-gradient(green 50%,red 50%, red);
 }

关于css - 如何将鼠标悬停在 div 上以仅更改其背景的一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19469144/

相关文章:

css - CodeIgniter HTAccess 不加载 CSS 文件

html - 为什么我不能将 Logo 居中,这与格式有关吗?

javascript - React.js 中的 setInterval 不应用背景图像样式

javascript - 如何在 Angular 2 模块的所有 html 模板中给出相同的样式?

ios - :nth-child not working on iosSafari 8

CSS - 背景大小包含或正常

javascript - 如何摆脱页面上不必要的 ng-container 边距?

jquery - 将列表(.li 和 .ul)更改为 jquery slider 上的罗马数字

css - 悬停链接会使图像从带有 css3 的导航栏中滑出?

javascript - 不存在的 Smarty 错误?