Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.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
Html 悬停时背景颜色随背景大小变化_Html_Css_Hover_Background Color - Fatal编程技术网

Html 悬停时背景颜色随背景大小变化

Html 悬停时背景颜色随背景大小变化,html,css,hover,background-color,Html,Css,Hover,Background Color,我有以下代码: CSS: <style> div.testy { border:1px solid black; } div.testy:hover { background-color:red; } </style> <div class="testy" style="height:100px; background: url('down.png') no-repeat; background-

我有以下代码:

CSS:

<style>
    div.testy {
        border:1px solid black;
    }

    div.testy:hover {
        background-color:red;
    }
</style>
<div class="testy" style="height:100px; 
background: url('down.png') no-repeat; background-size:contain;">
    aa
</div>

暴躁的{
边框:1px纯黑;
}
暴躁组:悬停{
背景色:红色;
}
HTML:

<style>
    div.testy {
        border:1px solid black;
    }

    div.testy:hover {
        background-color:red;
    }
</style>
<div class="testy" style="height:100px; 
background: url('down.png') no-repeat; background-size:contain;">
    aa
</div>

aa
'down.png'
是一个具有透明背景的图像。我想做的是改变背景的颜色,同时保持图像在颜色前面

前面的代码几乎所有操作都正确,只是当我将鼠标悬停在
div
上时,什么都没有发生

问题:为什么悬停和背景色更改不起作用

这里有一个与问题相关的JSFIDLE链接:

问题是您正在使用
背景:
作为
背景图像“
。分别使用
background color
background image
来区分
background image
background color

div.testy{
边框:1px纯黑;
}
暴躁组:悬停{
背景色:红色;
}

aa

问题是您正在使用
背景:
作为
背景图像“
。分别使用
background color
background image
来区分
background image
background color

div.testy{
边框:1px纯黑;
}
暴躁组:悬停{
背景色:红色;
}

aa

发生这种情况是因为您已经在html中内联定义了
背景。
除非添加了
,否则内联样式始终覆盖css文件中设置的样式!重要信息
,请参见样式

我建议您只在内联样式中设置
背景图像
,然后在CSS文件的规则中设置
背景颜色

div.testy{
边框:1px纯黑;
}
暴躁组:悬停{
背景色:红色;
}

aa

发生这种情况是因为您已经在html中内联定义了
背景。
除非添加了
,否则内联样式始终覆盖css文件中设置的样式!重要信息
,请参见样式

我建议您只在内联样式中设置
背景图像
,然后在CSS文件的规则中设置
背景颜色

div.testy{
边框:1px纯黑;
}
暴躁组:悬停{
背景色:红色;
}

aa

您正在内联设置的背景将覆盖css规则中的背景。内联样式总是覆盖任何内容(除了带有!important的内容)。如果删除内联并将其放入规则中,它将起作用。或者,本文件中包含了另一种方法

在这里,我们说‘嘿,我希望bkgrnd图像是这个’……而不是背景……因为背景包括图像、颜色、重复等所有内容。这是速记。因此,从技术上讲,您也在设置bkgrnd颜色…这就是为什么它凌驾于您的悬停之上

这里是另一个选项…从内联中删除并将其放入规则中…按原样…然后它也可以工作


正在内联设置的背景将覆盖css规则中的背景。内联样式总是覆盖任何内容(除了带有!important的内容)。如果删除内联并将其放入规则中,它将起作用。或者,本文件中包含了另一种方法

在这里,我们说‘嘿,我希望bkgrnd图像是这个’……而不是背景……因为背景包括图像、颜色、重复等所有内容。这是速记。因此,从技术上讲,您也在设置bkgrnd颜色…这就是为什么它凌驾于您的悬停之上

这里是另一个选项…从内联中删除并将其放入规则中…按原样…然后它也可以工作


现在可以工作了,谢谢。有趣的是,重复也必须取出才能工作。现在可以了,谢谢。有趣的是,重复也必须取出才能工作。