首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在CSS中定位不同于其他同级的锚点

如何在CSS中定位不同于其他同级的锚点
EN

Stack Overflow用户
提问于 2021-04-10 03:33:34
回答 1查看 35关注 0票数 0

我有5个兄弟姐妹在一个没有编号的列表中。它们每个都有一个<a>元素。它们中的4个需要以相同的方式运行,当它们悬停时,它们需要改变其背景颜色。有一个元素在背景中完全不变。如何针对特定的<a>?我尝试使用id,但它不会覆盖前面的通用目标。我尝试过使用组合器的伪class :nth-child,但不起作用。

代码语言:javascript
复制
.nav-bar {
  display: inline-block;
  font-size: 1.2rem;
  background-color: rgba(85, 85, 85, 0.3);
  /* padding: 10px;  */
  /* margin: 10px; */
}

#slot-1 {
  background-color: #AD6500;
  /* padding: 1rem;   */
}

#slot-3 {
  background-color: none;
  display: inline-block;
  font-size: 1rem;
  /* padding: 1rem; */
}

a {
  color: white;
  text-decoration: none;
  display: inline-block;
  padding: 10px 20px;
  /* margin:0; */
}

a:hover {
  background-color: #AD6500;
  padding: 10px 20px;
}
代码语言:javascript
复制
<header>
  <nav>
    <ul class="list">
      <li class="nav-bar" id="slot-1">
        <a class="nav-bar-different-font-color" href="https://www.amazon.it">Home</a>
      </li>
      <li class="nav-bar" id="slot-2">
        <a href="https://www.amazon.it">News</a>
      </li>
      <li id="slot-3">
        <a href="https://www.amazon.it">February 27.2021 - New feature: CSS oeverflow: overlay</a>
      </li>
      <li class="nav-bar" id="slot-4">
        <a href="https://www.amazon.it">Compare Browsers</a>
      </li>
      <li class="nav-bar" id="slot-5">
        <a href="https://www.amazon.it">About</a>
      </li>
    </ul>
  </nav>

</header>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-10 04:04:31

我用li:not( #slot-3 ) a:hover替换了你的a:hover行。我还删除了#slot-3的bg none规则

上面所说的是,以非id=slot-3li元素为目标,并以其后代a:hover为目标。因此,对于插槽3,该规则根本不适用

做同样的事情还有其他方法,但我认为这是最干净的

代码语言:javascript
复制
.nav-bar {
  display: inline-block;
  font-size: 1.2rem;
  background-color: rgba(85, 85, 85, 0.3);
  /* padding: 10px;  */
  /* margin: 10px; */
}

#slot-1 {
  background-color: #AD6500;
  /* padding: 1rem;   */
}

#slot-3 {
  /* removed, not needed */
  /* background-color: none; */
  display: inline-block;
  font-size: 1rem;
  /* padding: 1rem; */
}

a {
  color: white;
  text-decoration: none;
  display: inline-block;
  padding: 10px 20px;
  /* margin:0; */
}

li:not( #slot-3 ) a:hover {
  background-color: #AD6500;
  padding: 10px 20px;
}
代码语言:javascript
复制
<header>
  <nav>
    <ul class="list">
      <li class="nav-bar" id="slot-1">
        <a class="nav-bar-different-font-color" href="https://www.amazon.it">Home</a>
      </li>
      <li class="nav-bar" id="slot-2">
        <a href="https://www.amazon.it">News</a>
      </li>
      <li id="slot-3">
        <a href="https://www.amazon.it">February 27.2021 - New feature: CSS oeverflow: overlay</a>
      </li>
      <li class="nav-bar" id="slot-4">
        <a href="https://www.amazon.it">Compare Browsers</a>
      </li>
      <li class="nav-bar" id="slot-5">
        <a href="https://www.amazon.it">About</a>
      </li>
    </ul>
  </nav>

</header>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67027251

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档