html - 防止伪元素内容在悬停时改变颜色

标签 html css css-selectors

当我将鼠标悬停在链接“EN | FR”上时,所有字符包括竖线字符 ' | ' 将颜色更改为蓝色。

a:hover {
  color: blue;
}
a.language {
  display: inline;
  padding: 0;
}
a.language:last-child:before {
  content: ' | ';
}
 <a class="language" href="/en">EN</a>
<a class="language" href="/fr">FR</a>

我想实现只有链接 EN 和 FR 在鼠标悬停时变为蓝色,管道字符的颜色除外 ' | ' 那是他们之间的事。

我正在寻找类似的东西:

a.language:last-child:before:hover {
    color: grey;
}

保留管道符 ' | ' 灰色。

我怎样才能做到这一点?

更新:

感谢 Paulie_D 我有一个工作 JSfiddle solution

最佳答案

你很接近:

 a.language:last-child:hover::before {
   color: red;
 }

JSfiddle Demo

或者直接为伪元素声明一种颜色,让特异性为您赢得胜利。

 a.language:last-child::before {
   content: ' | ';
   color:red;
 }

JSfiddle Demo

关于html - 防止伪元素内容在悬停时改变颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39772915/

相关文章:

css - 如何在不使用 styleSheet native 元素的情况下将 CSS 文件添加到 native 应用程序中

css - 是否有没有任何类的元素的 CSS 选择器?

javascript - 加载整个网站的导航栏,我应该如何处理链接?

html - 条纹 table 上的背景颜色褪色

html - 附加带换行符的 html 比附加不带空格的 html 更容易吗?

html - flex 盒元素的高度相等

javascript - CSS 未应用于插入的表数据

CSS Sibling 选择器在 Chrome 下出现故障

php - 去除不完整的 HTML 标签

html - ▶ 等三 Angular 形实体在 Safari 中无法正常显示