为什么我的填充不只从第一个 child 中删除

Why is my padding not being removed only from the first child

我的 A:hover 标签的 first-child 正在删除所有填充,而不是仅删除第一个 child。是什么原因造成的?感谢大家的帮助。 Whosebug 需要更多文本,但我只能说我的元素选择可能有问题。

     <nav>
            <h2>Navigation</h2>
            <ul>
                    <li><a href="">Home</a></li>
                    <li><a href="">Foo</a></li>
                    <li><a href="">Roo</a></li>
                    <li><a href="">Gamen</a></li>
                    <li><a href="">puta</a></li>
            </ul>
        </nav>
___________________________________________________________________________


    nav li{
        list-style-type:none;
        padding:10px 0px;
        font-size:20px;
        float:left;

    }

    nav h2{
        text-indent: -10000px;
    }
    .Latest_Content{
        clear:both;
    }

    nav a{
        text-decoration:none;
        padding:10px 20px 10px 20px;
        color:#000000;
        font-family:'Droid Sans', sans-serif; 

     }
    nav a:hover{
        color:#ffffff;
        background-color:#42b84f;
        padding:10px 20px 10px 20px;
        -webkit-transition: 0.4s;

    }

    nav a:first-child:hover {
        padding-left:0px;

    }

a:first-child 将 select 所有列表中的所有第一个子元素。

应该是:

nav li:first-child a:hover{
  padding-left: 0;
}

现在,您 select 只列出第一个标签。

    nav a:hover{
        color:#ffffff;
        background-color:#42b84f;
        padding:10px 20px 0px 20px;
        -webkit-transition: 0.4s;

    }

    nav a:first-child:hover {
        padding-left:10px;

    }

解决方案可能是:

nav li:first-child a{
    padding-left:0px;
}

这是因为您开始列出所有 li 并转到要更改的元素。

在您的代码 nav a:first-child:hover 中,您尝试列出 a,正如您所见,每个 li 只是一个 a,这是因为所有 a 随着 first-child.

的变化