html - 导航下的箭头

标签 html css

您好,我已经查找了在导航下方放置箭头的方法,但我无法在导航栏上工作。任何帮助将不胜感激。

<nav>

      <div class="hello"></div>
            <ul>
              <li class="icon-home"><a href="Premiership.html"><span>Home</span></a></li>

            <li class="arrow"> <a  class="star" href="#">England</a>
                <ul>
                    <li><a href="Premiership.html">Premiership</a>
                    </li>
                    <li><a href= "Unavailble.html">Championship</a>
                    </li>
                    <li><a href="Unavailble.html">League 1</a>
                    </li>
                    <li><a href="Unavailble.html">League 2</a>
                    </li>
                </ul>
            </li>
            <li class="arrow"> <a href="#">France</a>
                <ul >
                    <li id="r"><a href="Unavailble.html">Ligue 1</a> 
                    </li>
                </ul>
            </li>
            <li class="arrow"> <a href="#">Germany </a>

                <ul>
                    <li><a href="Unavailble.html">Bundesliga</a>
                    </li>
                </ul>
            </li>
            <li class="arrow"> <a href="#">Italy</a>

                <ul>
                    <li><a href="Unavailble.html">Serie A</a>
                    </li>
                </ul>
            </li>
            <li class="arrow"> <a href="#">Spain</a>
                <ul>
                    <li><a href="Unavailble.html">La Liga</a>
                    </li>
                </ul>
            </li>
        </ul>    
            <div class="handle"> Menu </div>
        </nav>

我认为这是 css 会工作,但它没有

li a:after {
  content: '';
  display: none;
  width: 0;
  height: 0;
  border-top: 6px solid #333;
  border-right: 6px solid transparent;
  border-left: 6px solid transparent;
  position: absolute;
  z-index: 1;
  top: 100%;
  left: 50%;
  margin-left: -6px
}     

我的代码 https://jsfiddle.net/jzqv6kr0/

最佳答案

在你的例子中,箭头在那里只是 ul 上的 overflow:hidden 意味着你看不到它。

我已经对您的代码进行了一些调整(请参阅下面的代码片段),但需要进行一些调整才能使其完全符合您的喜好。为简单起见,我将箭头涂成红色。

nav ul {
    /* overflow:hidden; REMOVE */ 
}

nav ul li.arrow:after {
  content: '';
  width: 0;
  height: 0;
  border-top: 6px solid red;
  border-right: 6px solid transparent;
  border-left: 6px solid transparent;
  position: absolute;
  z-index: 1;
  top: 100%;
  left: 50%;
  margin-left: -6px
}

nav ul {
  background-color: #43a286;
  color: white;
  padding: 0;
  text-align: center;
  margin: 0;
  -webkit-transition: max-height 0.4s;
  -ms-transition: max-height 0.4s;
  -moz-transition: max-height 0.4s;
  -o-transition: max-height 0.4s;
  transition: max-height 0.4s;
}
nav ul li {
  display: inline-block;
  padding: 20px;
  width: 12.3%;
  text-align: center;
  position: relative;
}
nav ul li:hover {
  background-color: #399077;
}
nav ul li.arrow:after {
  content: '';
  width: 0;
  height: 0;
  border-top: 6px solid red;
  border-right: 6px solid transparent;
  border-left: 6px solid transparent;
  position: absolute;
  z-index: 1;
  top: 100%;
  left: 50%;
  margin-left: -6px
}
nav ul ul {
  display: none;
  position: absolute;
  background-color: #399077;
  margin-left: -3%;
  z-index: 150;
}
nav ul ul li {
  display: block;
  width: 75%;
  text-align: center;
}
nav ul li:hover ul {
  margin-top: 2%;
  display: block;
  border-bottom-left-radius: 5%;
  border-bottom-right-radius: 5%;
  width: 165px;
}
nav ul li a,
visited {
  color: white;
  font-family: 'CFJackStory-Regular', Helvetica, Arial, sans-serif;
  display: block;
  text-decoration: none;
}
nav ul ul li a:hover {
  color: white;
  font-size: 20px;
}
<nav>
  <div class="hello"></div>
  <ul>
    <li class="icon-home"><a href="Premiership.html"><span>Home</span></a>
    </li>
    <li class="arrow"> <a class="star" href="#">England</a>

      <ul>
        <li><a href="Premiership.html">Premiership</a>

        </li>
        <li><a href="Unavailble.html">Championship</a>

        </li>
        <li><a href="Unavailble.html">League 1</a>

        </li>
        <li><a href="Unavailble.html">League 2</a>

        </li>
      </ul>
    </li>
    <li class="arrow"> <a href="#">France</a>

      <ul>
        <li id="r"><a href="Unavailble.html">Ligue 1</a> 
        </li>
      </ul>
    </li>
    <li class="arrow"> <a href="#">Germany </a>

      <ul>
        <li><a href="Unavailble.html">Bundesliga</a>

        </li>
      </ul>
    </li>
    <li class="arrow"> <a href="#">Italy</a>

      <ul>
        <li><a href="Unavailble.html">Serie A</a>

        </li>
      </ul>
    </li>
  </ul>
</nav>

关于html - 导航下的箭头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30644800/

相关文章:

javascript - 无法组合脚本和 php div.innerHTML += "<form action='\"{{route(' stock.store')}}\"' method ='post' >@csrf</form>";

html - 基于最小高度的 CSS 页脚固定位置

html - 如何将这些缩略图放置在 slider 下方?

javascript - 选择具有最高 z-index 的 DIV

html - 你能通过html链接一个css文件吗?

javascript - 当其他内容大小发生变化时动画 div 位置

html - 未显示 Logo 背景图像(Rails 应用程序)

html - 放大选择行高

php - 如何在 php 中包含 CSS?

javascript - 在 Bootstrap 轮播中对齐文本或图像