0

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

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>
4

1 回答 1

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;
}

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

于 2013-09-18T14:12:24.377 回答