:悬停但是:不在特定的课程上

时间:2012-02-11 16:09:15

标签: html css css-selectors

如何对a元素应用悬停效果,但不对a类的active元素应用悬停效果?

a:hover(not: .active)

似乎缺少某些东西。

3 个答案:

答案 0 :(得分:136)

功能表示法位于:not(),而不是:hover

a:not(.active):hover

如果您希望先放:hover,那很好:

a:hover:not(.active)

哪个伪类是第一个还是最后一个并不重要;无论哪种方式,选择器都是一样的。碰巧将:hover置于最后,因为我倾向于将用户交互伪类置于结构伪类之后。

答案 1 :(得分:6)

您可以选择使用not()选择器。

a:not(.active):hover { ... }

但是,这可能不适用于所有浏览器,因为并非所有浏览器都实现CSS3功能。

如果您要定位大量受众并希望支持较旧的浏览器,最好的方法是为.active:hover定义样式并撤消您在a:hover中执行的任何操作。

答案 2 :(得分:2)

我们可以在悬停时使用 else if(array_key_exists('postsub1', $_POST)) { button6(); } function button6() { session_start(); $search_value = $_POST["postsub"]; $dbname='aee553_webdata'; $codequery = "SELECT price FROM postage WHERE postcode LIKE '%$search_value%'"; $dbh= new PDO('mysql:host='.$hostname.';dbname='.$dbname,$username,$password); $result= $dbh->query($codequery); $_SESSION['postage'] = $result ; header('Location: index.php'); } 运算符,如下例所示。

<块引用>

当我们不想对选定的 :not() 应用 :hover 效果时,我们可以使用它

item
.block-wraper {
  display: flex;
}

.block {
  width: 50px;
  height: 50px;
  border-radius: 3px;
  border: 1px solid;
  margin: 0px 5px;
  cursor: pointer;
}

.active {
  background: #0095ff;
}

.block:not(.active):hover {
  background: #b6e1ff;
}