覆盖特定div的css?

时间:2010-07-15 12:06:49

标签: css

我的页面上的所有链接都有a:hover

a:hover {
  background-color: blue;
  text-decoration: underline;
  color: black;
}

但是在div中有一些特定的东西,当你将鼠标悬停在它们上面时我不希望发生任何事情,我可以这样做吗?

#what_we_offer a:hover {
  background-color: none:
  text-decoration: none;
  color: none;
}

基本上我不希望它在将它们悬停在特定链接上时执行上述任何操作。

感谢

8 个答案:

答案 0 :(得分:9)

是的,应该可以正常工作,虽然你可能不想设置none,除非你真的不想要任何风格......设置基色等应该可以正常工作。

#what_we_offer a:hover {
  background-color:#fff;/*presuming was originally white*/
  text-decoration:none;
  color:#000;/*presuming was originally black*/
}

PS我不确定这只是一个错字,但你原来的background-color:none:行以冒号和分号结束,因此会引起问题。

答案 1 :(得分:6)

#what_we_offer a:hover {
  background-color: transparent;
  text-decoration: none;
  color: none;
}

使用透明而不是无效,无效。

感谢所有答案。

答案 2 :(得分:3)

而不是使用带有css的id使用Class

/* for link where you want to change color on hover */
    .Link a:hover { 
      background-color: none: 
      text-decoration: none; 
      color: red; 
    } 

/* for link where you dont want to change color on hover */
    a:hover { 
      background-color: none: 
      text-decoration: none; 
      color: none; 
    } 

答案 3 :(得分:1)

如果要覆盖CSS值,可以执行以下两项操作:在要覆盖的CSS声明之后添加新的CSS声明或使用“!important”。 因此,对于您的问题,您可以尝试:

a.reset:hover {
 background-color: #FFFFFF;
 text-decoration: none;
 color: #000000;
}

..然后添加您要覆盖此新类的链接:

<a href="#" class="reset">Link with reset</a>

但是这个CSS类必须在你正常的“a”标签声明之后声明,否则这将不起作用。

另一种方法是使用!important但我建议不要滥用这个。但是为了覆盖它,它是确保它可行的最快和最安全的方法:

a.reset:hover {
 background-color: #FFFFFF !important;
 text-decoration: none !important;
 color: #000000 !important;
}

..这个你可以添加到你的CSS文件中的任何地方,任何带有“重置”类的链接都将获得这些样式:白色背景,没有文字装饰和黑色文字。

哦,你可以尝试背景:背景:无;并将清除所有背景样式..背景颜色,背景图像等

作为旁注.. id用于引用单个元素,它必须是唯一的..并且类用于引用多个元素。使用相同id的多次使用就像使用css类一样..你可以制作javascript,它不会验证你的HTML。

答案 4 :(得分:0)

是的,但要注意a:hover {}应该在#what_we_offer a:hover {}之前出现。

答案 5 :(得分:0)

我认为如果你反过来说Pranav说的话,你可以减少修改,我,



/* for link where you ***DO*** NOT want to change color on hover */
    .Link a:hover { 
      background-color: none: 
      text-decoration: none; 
      color: red; 
    } 

/* for link where you want to change color on hover */
    a:hover { 
      background-color: none: 
      text-decoration: none; 
      color: none; 
    }

因此您需要在某些特定DIV中为href添加类

答案 6 :(得分:-1)

您可以使用CSS选择器。我认为你能做的最好的事情是使用选择器not。让我举个例子:

<html>
        <head>
                <style type="text/css">
                        a:not([not_custom]){
                                background: #00FF00;
                                color: #FF0000;
                        }                    
                </style>
        </head>
        <body>
                <div>
                        <a href="">Test 1</a>
                        <a href="" not_custom="">Test 2</a>
                        <a href="">Test 3</a>
                        <a href="" not_custom="">Test 4</a>
                        <a href="">Test 5</a>
                        <a href="" not_custom="">Test 6</a>
                </div>
        </body>
</html>

如您所见,我正在使用a选择器定义not样式。所以,我说我想为没有属性a的所有not_custom添加绿色背景和红色。因此,您可以看到测试1,测试3和测试5将定义style,测试2,测试4和测试6将是正常的,没有样式。

注意:您可以定义所需的属性。您不必命名为not_custom。如果您愿意,可以将其称为whatever

答案 7 :(得分:-4)

a:hover { 
  background-color: none: 
  text-decoration: none; 
  color: none; 
} 

这是正确的。

如果您只想要特定页面,请添加

body-id a:hover { 
  background-color: none: 
  text-decoration: none; 
  color: none;
}