使用 CSS 更改 html 列表和嵌套列表的颜色

Change color of html lists and nested lists with CSS

提问人:edumarrom 提问时间:7/12/2022 最后编辑:edumarrom 更新时间:7/13/2022 访问量:86

问:

我在查找可以解决我的问题的信息时遇到了麻烦。

我有一个列表,其中嵌套了其他列表的子元素<ul><li>

悬停时需要将元素的颜色更改为蓝色,但最后一个元素在悬停时需要将颜色更改为橙色。<li>

问题是我无法改变父母的颜色,不确定我是否解释得很好。<li>

元素 Element1Element2 在悬停时必须为蓝色,元素 3 在悬停时也必须为橙色。

不评论您无法编辑 html(即添加类属性)是我的错。

感谢您抽出宝贵时间接受采访!

代码如下:

body {
  font-family: sans-serif;
}

a:link {
  text-decoration: none;
}

a:visited {
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

a:active {
  text-decoration: none;
}

ul li ul li:hover {
  color: blue
}

ul li:last-child ul li:hover {
  color: orange
}
<html lang="en>

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link rel="stylesheet" href="style.css">
  <title>List and lists colors</title>
</head>

<body>
  <ul>
    <li>
      <span href="">Element 1</span>
      <ul>
        <li>
          <span href="">Element 1.1</span>
        </li>
        <li>
          <span href="">Element 1.2</span>
        </li>
        <li>
          <span href="">Element 1.3</span>
        </li>
      </ul>
    </li>
    <li>
      <span href="">Element 2</span>
      <ul>
        <li>
          <span href="">Element 2.1</span>
        </li>
        <li>
          <span href="">Element 2.2</span>
        </li>
        <li>
          <span href="">Element 2.3</span>
        </li>
      </ul>
    </li>
    <li>
      <span href="">Element 3</span>
      <ul>
        <li>
          <span href="">Element 3.1</span>
        </li>
        <li>
          <span href="">Element 3.2</span>
        </li>
        <li>
          <span href="">Element 3.3</span>
        </li>
      </ul>
    </li>
  </ul>
</body>

</html>

HTML CSS 列表 嵌套 悬停

评论

2赞 Sfili_81 7/12/2022
问题出在哪里?元素 3 的元素之子在悬停时变为橙色
0赞 Michel 7/12/2022
如果需要将颜色更改为棕色,请键入 ,而不是 。所有 Element 3.x 都更改为橙色,那么问题出在哪里?brownblue
0赞 edumarrom 7/13/2022
对不起!@Michel我意外地离开了布朗:(
0赞 edumarrom 7/13/2022
是的,元素 3.1、.2 和 .3 是橙色的,但悬停时我也需要元素 3 是橙色的

答:

0赞 Annak942 7/12/2022 #1

如果你不能只给他们分配一些类,你可以写

body > ul > li:last-child:hover {
    color:orange
}

..但实际上,元素 1 和 2 内部的最后一个 Li 也会改变颜色......所以我只添加几个类。喜欢

<li class="element-1">

然后给它分配一些 stile

.element-1:hover {
    color: red;
}

评论

0赞 edumarrom 7/13/2022
我完全同意这一点。目标是不编辑 html 代码。不评论是我的错
0赞 Annak942 7/13/2022
也许可以尝试身体> ul > li + li + li