如何在悬停之前更改a

时间:2016-08-17 10:11:27

标签: html css

我有一个看起来像这样的子导航:

<ul class="subnav">
         <li class="odd"><a href="/angebote/fruhbucherrabatt">Frühbucherrabatt</a></li>
         <li class="even"><a href="/angebote/last-minutes">Last Minutes</a></li>
         <li class="odd"><a href="/angebote/campingrabatt">Campingrabatt</a></li>
         <li class="even"><a href="/angebote/junge-familien-rabatt">Junge Familien Rabatt</a></li>
         <li class="odd"><a href="/angebote/55-Plus-Rabatt">55 Plus Rabatt</a></li>
         <li class="even"><a href="/angebote/ruckkehrrabatt">Rückkehrrabatt</a></li>
         <li class="odd"><a href="/angebote/ruckkehrrabatt">Limitierte Angebote</a></li>
 </ul>

因此我在css中有这样的子弹点:

nav.mainnav ul li .subnav li:before {
 content: "";
 position: absolute;
 width: 5px;
 height: 5px;
 background: #000;
 margin-top: 13px;
 left: 6px;
 z-index: 1;
 border-radius: 6px;
}

我想在悬停时更改其内容:

nav.mainnav ul li .subnav li:hover:before {
    content: "»";
}

但它并没有改变并隐藏“子弹点”,但它只在它下方添加了双箭头。有人可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:3)

您需要隐藏第一个项目符号,因此您需要在background:none上设置:hover:before并且它可以正常工作

这是因为首先您使用:before制作background,然后想要使用:before制作content:""。所以要么在background:none设置:hover:before,要么先使用content:"•",要么在悬停时使用content:"»"

background:none

1。 :hover:before

.subnav li:before {
 content: "";
 position: absolute;
 width: 5px;
 height: 5px;
 background: #000;
 left: 0px;
 z-index: 1;
 border-radius: 6px;
 top:6px;

}

.subnav li:hover:before {
    content: "»";
    background:none;
    top:0px;
}

.subnav li { 
  list-style:none;
  position:relative;
  padding-left:15px;
}
<ul class="subnav">
         <li class="odd"><a href="/angebote/fruhbucherrabatt">Frühbucherrabatt</a></li>
         <li class="even"><a href="/angebote/last-minutes">Last Minutes</a></li>
         <li class="odd"><a href="/angebote/campingrabatt">Campingrabatt</a></li>
         <li class="even"><a href="/angebote/junge-familien-rabatt">Junge Familien Rabatt</a></li>
         <li class="odd"><a href="/angebote/55-Plus-Rabatt">55 Plus Rabatt</a></li>
         <li class="even"><a href="/angebote/ruckkehrrabatt">Rückkehrrabatt</a></li>
         <li class="odd"><a href="/angebote/ruckkehrrabatt">Limitierte Angebote</a></li>
 </ul>

2。 content: "•"content: "»"

.subnav li:before {
 content: "•";
 position: absolute;
 width: 5px;
 height: 5px;
 left: 0px;
 z-index: 1;
 font-size:15px;
 top:0px;

}

.subnav li:hover:before {
    content: "»";
    top:0px;
}

.subnav li { list-style:none;position:relative;padding-left:15px;}
<ul class="subnav">
         <li class="odd"><a href="/angebote/fruhbucherrabatt">Frühbucherrabatt</a></li>
         <li class="even"><a href="/angebote/last-minutes">Last Minutes</a></li>
         <li class="odd"><a href="/angebote/campingrabatt">Campingrabatt</a></li>
         <li class="even"><a href="/angebote/junge-familien-rabatt">Junge Familien Rabatt</a></li>
         <li class="odd"><a href="/angebote/55-Plus-Rabatt">55 Plus Rabatt</a></li>
         <li class="even"><a href="/angebote/ruckkehrrabatt">Rückkehrrabatt</a></li>
         <li class="odd"><a href="/angebote/ruckkehrrabatt">Limitierte Angebote</a></li>
 </ul>

因此您可以在这两种解决方案中进行选择。让我知道它是否有帮助

答案 1 :(得分:0)

怎么样:

li:hover {
    list-style-type: symbols(cyclic "»");
}

类似于:

<ul>
    <li>Apples</li>
    <li>Oranges</li>
    <li>Bananas</li
</ul>

如上所述,当您将鼠标悬停在列表项上方时,子弹点(显然是默认列表样式)将重新绘制为»