我正在尝试创建一个带有箭头的导航栏,该项目位于项目上方.这是我想要做的:
对于箭头,我使用了之前和之后的伪元素.以下是一些代码:
- body {
- background: #FFFFFF;
- color: #FFFFFF;
- margin: 0px;
- padding: 0px;
- height: 100%;
- }
- .clear {
- clear: both;
- }
- .page-wrap {
- width: 980px;
- margin: 0px auto;
- height: 100%;
- }
- #main-menu {
- background: white;
- height: 55px;
- width: 100%;
- padding: 0px;
- margin: 0px;
- border-bottom: 1px solid black;
- }
- ul {
- font-family: Arial,Verdana;
- font-size: 18px;
- margin: 0;
- padding: 0;
- list-style: none;
- }
- ul li {
- display: block;
- position: relative;
- float: left;
- }
- li ul {
- display: none;
- }
- ul li a {
- display: block;
- text-decoration: none;
- color: black;
- padding: 0 9px 0 9px;
- background: white;
- margin-left: 1px;
- white-space: nowrap;
- line-height: 55px;
- font: 18px;
- font-family: Arial,Helvetica,sans-serif;
- outline: none;
- }
- ul li a:hover {
- color: black;
- }
- #menu a:hover:after {
- content: "";
- position: absolute;
- top: 40px;
- left: 50%;
- margin-left: -15px;
- width: 0px;
- height 0px;
- xxmargin: 0px auto;
- border-left: 15px solid transparent;
- border-right: 15px solid transparent;
- border-bottom: 15px solid black;
- }
- <header id="main-menu">
- <div class="page-wrap">
- <ul id="menu">
- <li><a href="#">Recommended</a></li>
- <li><a href="#">Recent</a></li>
- </ul>
- </div>
- </header>
由于边框颜色,箭头为黑色.如何只显示箭头的边框?
解决方法
只需在你添加的伪元素之前添加:after
- #menu a:hover:after {
- content: "";
- position: absolute;
- top: 41px;
- left: 50%;
- margin-left: -15px;
- width: 0px;
- height 0px;
- margin: 0px auto;
- border-left: 15px solid transparent;
- border-right: 15px solid transparent;
- border-bottom: 15px solid white;
- }
- #menu a:hover:before {
- content: "";
- position: absolute;
- top: 40px;
- left: 50%;
- margin-left: -15px;
- width: 0px;
- height 0px;
- margin: 0px auto;
- border-left: 15px solid transparent;
- border-right: 15px solid transparent;
- border-bottom: 15px solid black;
- }
我已经更新了你的笔请检查