最后一个孩子和第一个孩子选择器不起作用

时间:2013-09-18 14:06:47

标签: css pseudo-class css-selectors

我正在构建一个导航栏。这就是我想要的;

将鼠标悬停在链接上时,

更改链接上的background-color。 第一个和最后一个链接背景应该有圆角。

问题是要么所有链接都是圆角,要么都没有!

CSS

   nav {
       width:100%;
       line-height:2;
   }
   nav ul {
       list-style:none;
   }
   nav li a {
       text-decoration:none;
       color:white;
       float:left;
       width:90px;
       display:block;
       background-color:blue;
       padding-left:10px;
   }
   nav li a:first-child {
       border-radius:5px;
   }
   nav li a:last-child {
       border-radius:5px;
   }
   nav li a:hover {
       color:blue;
       background-color:white;
   }

HTML

<nav>
    <ul>
        <li><a href="#">Hem</a>
        </li>
        <li><a href="#">om oss</a>
        </li>
        <li><a href="#">hitta hit</a>
        </li>
        <li><a href="#">Kontakta</a>
        </li>
    </ul>
</nav>

1 个答案:

答案 0 :(得分:2)

您要找的是这样的?

http://jsfiddle.net/gespinha/mkDWj/2/

您应该在第一个和最后一个a 中触发li,而不是a元素中的第一个和最后一个li,因为所有li只有一个a(自动是第一个也是最后一个。

你还有一个问题是你想要所有边框都具有相同的半径,只需要边缘边界有一个半径值。

CSS

nav li:first-child a {
    border-radius:5px 0 0 5px;
}
nav li:last-child a {
    border-radius:0 5px 5px 0;
}

有关border-radius属性的更多详细信息,请查看此文档http://www.w3schools.com/cssref/css3_pr_border-radius.asp

相关问题