4

我正在尝试删除显示有下拉菜单的箭头。

我发现了这个:

.top-bar-section .has-dropdown > a:after {
content: "";
display: block;
width: 0;
height: 0;
border: inset 5px;
border-color: transparent transparent transparent rgba(255, 255, 255, 0.5);
border-left-style: solid;
margin-right: 15px;
margin-top: -4.5px;
position: absolute;
top: 50%;
right: 0; }

我用这个代替了它:

.top-bar ul > li.has-dropdown a:after { 
  content: "";
  display: none;
  width: 0;
  height: 0;
  border:0;
  border-color: none;
  border-left-style: none;
  margin-right: 0;
  margin-top: 0;
  position: absolute;
  top: 0;
  right: 0;
}

然而,在“关于我们”之后还有空间。任何想法如何删除它?

在此处输入图像描述

这是一些HTML:

<section class="top-bar-section">
    <ul  class="right">
        <li><a href="#">Link #1</a></li>
        <li><a href="#">Link #2</a></li>
        <li><a href="#">Link #3</a></li>
        <li><a href="#">Link #4</a></li>
        <li><a href="#">Link #5</a></li>
        <li class="has-dropdown">
            <a href="#">About us</a>
            <ul class="dropdown">
                 <li><a class="first-el" href="#">About the company</a></li>
                 <li><a href="#">Jobs</a></li>
                 <li><a href="#">Blog</a></li>
                 <li><a href="#">ToS</a></li>
                 <li><a class="last-el" href="#">Privacy</a></li>
            </ul>
        </li>
    </ul>
</section>
4

8 回答 8

11

如果您使用的是 Foundation 4(非常推荐使用 sass),您可以通过更改_settings.scss. 就是这个:

$topbar-arrows: true; //Set false to remove the triangle icon from the menu item

不幸的是,这也删除了子级别上的箭头......

于 2013-10-17T07:08:33.117 回答
7

一个小时后Argh终于想通了

.top-bar-section .has-dropdown > a:after {
   border-color: transparent transparent transparent;
}

这将使箭头消失。

于 2013-10-20T15:26:41.543 回答
2

查看has-dropdownCSS 中的类。

它似乎有一些额外的填充以允许添加箭头。

于 2013-10-13T18:00:55.480 回答
1

如果您仅使用 css 破解它,这将删除右侧的箭头和填充。

.top-bar-section .has-dropdown > a {padding-right: 15px !important;} .top-bar-section .has-dropdown > a:after {border-color: transparent transparent;}

于 2014-05-10T04:26:16.827 回答
1

删除它:

.top-bar-section .has-dropdown > a:after {
      content: "";
      display: block;
      width: 0;
      height: 0;
      border: inset 5px;
      border-color: transparent transparent transparent;    
      border-left-style: solid;
      margin-right: 15px;
      margin-top: -4.5px;
      position: absolute;
      top: 50%;
      right: 0; }

但要保留它用于移动导航

@media only screen and (max-width: 40em) {

.top-bar-section .has-dropdown > a:after {
      content: "";
      display: block;
      width: 0;
      height: 0;
      border: inset 5px;
      border-color: #dddddd transparent transparent transparent;    
      border-left-style: solid;
      margin-right: 15px;
      margin-top: -4.5px;
      position: absolute;
      top: 50%;
      right: 0; }

}
于 2014-06-07T11:40:55.423 回答
0

我们可以编辑类似插入符号的图标,它实际上是一个边框:

.has-dropdown > a:after {border-top-color: red !important;}
于 2014-05-31T08:31:14.940 回答
0

对我来说,我只是设置 display: none; 到整个 ::after 元素,然后只调整填充

.top-bar-section .has-dropdown > a::after {
    display: none;
}
.top-bar-section .has-dropdown>a {
    padding-right:0.9375rem !important
}
于 2015-03-19T23:46:03.373 回答
0

您可以只设置不显示,或者只将边框设置为 0px。要么会为你做。

.top-bar-section > li> a:after {
    display: none;
}

或者

.top-bar-section > li> a:after {
    border: 0px;
}

然后正如亚历克斯所说,您将要更改菜单元素的填充,但这是可选的。

于 2016-02-05T18:10:52.083 回答