html - anchor 标记继承自非预期元素

标签 html css styling

我有一段以下代码,header 中的一个标签继承了 main 中的标签样式。
我知道我可以阻止它向每个 a 标签添加类,但是还有其他方法可以解决吗?

    header li{
      display: inline-block;
    }
    header a:link, a:visited, a:active{
      text-decoration: none;
      color: #fff;
    }
    header a:hover{
      color: #333;
    }
    
    main a:link, a:visited, a:active{
      color: #0ba39c;
    }
    main a:hover{
      color: #252525;
    }
    <header>
      <ul>
        <li>
          <a href="#">First element</a>
        </li>
        <li>
          <a href="#">Second element</a>
        </li>
      </ul>
    </header>
    
    <main>
      <ul>
        <li>
          <a href="#">First element</a>
        </li>
        <li>
          <a href="#">Second element</a>
        </li>
      </ul>
    </main>

我也试过像这样指向它:header > ul > li > a:link...但它也不起作用。
我在网站上看到很多不同风格的 anchor ,没有额外的类,所以我敢打赌我错过了一些东西。

最佳答案

CSS 逗号组合器用于列出多个单独的选择器。

所以代替

header a:link, a:visited, a:active {
    ...
}

(这导致 3 个选择器 header a:linka:visiteda:active)

必须像这样声明每个链接状态的完整选择器:

header a:link,
header a:visited,
header a:active {
    ...
}

(产生 3 个选择器 header a:linkheader a:visitedheader a:active)

main 也是如此。我用可区分的颜色更新了您的示例:

    header li{
      display: inline-block;
    }
    header a:link,
    header a:visited,
    header a:active {
      text-decoration: none;
      color: red;
    }
    header a:hover{
      color: yellow;
    }
    
    main a:link,
    main a:visited,
    main a:active {
      color: green;
    }
    main a:hover{
      color: blue;
    }
    <header>
      <ul>
        <li>
          <a href="#">First element</a>
        </li>
        <li>
          <a href="#">Second element</a>
        </li>
      </ul>
    </header>
    
    <main>
      <ul>
        <li>
          <a href="#">First element</a>
        </li>
        <li>
          <a href="#">Second element</a>
        </li>
      </ul>
    </main>

关于html - anchor 标记继承自非预期元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56148642/

相关文章:

html - CSS背景图片的动态宽度

javascript - 如何使用 jQuery 并行处理动态添加的脚本标签

JavaScript 显示/隐藏 div

javascript - 使用 vue js 动态更改 CSS 类

javascript - 如何使 Material-UI 单选按钮 float : left

JavaFX 通过 CSS 为按钮的图形节点设置样式

Chrome 中的 HTML5 <video> 标签不起作用

javascript - 如何使进度条百分比居中

jquery 移动按钮背景颜色

javascript - 使用 Javascript 更改带有子按钮的父类