问答详情
源自:6-6 CSS3实现动画菜单尖角

箭头显示有部分问题

只有二级菜单的第一个li和三级菜单第一个li有箭头,且三级菜单的箭头经过时还有问题,用的谷歌浏览器,求解


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>css3下拉菜单</title>

<style type="text/css">

*{

margin:0;

padding:0;

}

li{

list-style:none;

}

a{

text-decoration:none;

}

.top_nav{

width:960px;

margin:60px auto;

border:1px solid #222;

background-color:#111;

background-image:linear-gradient(#444,#111);

border-radius:6px;

box-shadow:0px 1px 1px #777;

}

.top_nav:before,.top_nav:after{

content:" ";

display:table;

}

.top_nav:after{

clear:both;

}

.top_nav{

zoom:1;/*zoom<IE8*/

}

.top_nav li{

float:left;

border-right:1px solid #222;

box-shadow:1px 0 0 #444;

text-align:center;

position:relative;

}

.top_nav li a{

float:left;

padding:12px 30px;

color:#999;

font:bold 12px;

display:block;

text-shadow:0px 1px 0px #000;

}

.top_nav li a:hover{

color:#fafafa;

}

.top_nav li ul{

visibility:hidden;

position:absolute;

top:38px;

left:0;

z-index:1;

background-color:#444;

background-image:linear-gradient(#444,#111);

box-shadow:0 -1 0 rgba(255,255,255,.3);

border-radius:3px;

opacity:0;

margin:20px 0 0 0;

transition:all .2s ease-in-out;

}

.top_nav li:hover > ul{

opacity:1;

visibility:visible;

margin:0;

.top_nav ul li{

float:none;

border:0;

display:block;

box-shadow:0 1px #111,0 2px #666;

}

.top_nav ul li:last-child{

box-shadow:0 1px transparent,0 2px transparent;

}

.top_nav ul a{

padding:10px;

width:130px;

display:block;

float:none;

}

.top_nav ul a:hover{

background-color:#0186ba;

background-image:linear-gradient(#04acec,#0186ba);

}

.top_nav ul li:first-child > a{

border-radius:3px 3px 0 0;

}

.top_nav ul li:last-child > a{

border-radius:0 0 3px 3px;

}

.top_nav ul li:first-child > a:before{

content:" ";

position:absolute;

left:40px;

top:-6px;

border-bottom:6px solid #444;

border-left:6px solid transparent;

border-right:6px solid transparent;

}

.top_nav ul li:first-child >a:hover:before{

border-bottom-color:#04acec;

}

.top_nav ul ul{

top:0;

left:150px;

margin:0 0 0 20px;

box-shadow:-1px 0 0 rgba(255,255,255,.3);

}

.top_nav ul ul li:first-child a:before{

top:50%;

left:-6px;

margin-top:-6px;

border-left:0;

border-top:6px solid transparent;

border-bottom:6px solid transparent;

border-right:6px solid #3b3b3b;

}

.top_nav ul ul li:first-child a:hover:bofore{

border-right-color:#0299d3;

border-bottom-color:transparent;

}

</style>

</head>


<body> 

<ul class="top_nav">

  <li><a href="#">慕课网</a></li>

  <li><a href="#">课程大厅</a></li>

  <li><a href="#">学习中心</a>

    <ul> 

      <li><a href="#">前端课程</a>

        <ul>

          <li><a href="#">javascript</a></li>

          <li><a href="#">css</a></li>

          <li><a href="#">jquery</a></li>

        </ul>

      </li>

      <li><a href="#">手机开发</a></li>

      <li><a href="#">后台编程</a></li>

    </ul>

  </li>

  <li><a href="#">关于我们</a></li>

</ul>

</body>

</html>

http://img.mukewang.com/57fca1790001ef8f19140737.jpg

57fc9f1900011fe105000184.jpg

57fc9f1a0001e8ce05000152.jpg

57fc9f1d000148c405000196.jpg


提问者:紫色_____3689098 2016-10-11 16:13

个回答

  • _阿板_
    2016-11-13 20:50:45

    .top_nav ul ul li:first-child a:hover:bofore{

    border-right-color:#0299d3;

    border-bottom-color:transparent;

    }

    before拼错了,不是bofore...

  • 一直都在路上
    2016-10-17 10:38:36

    我之前也是这样。应该是a::before出现了问题。你仔细看看三角写对了没。