Dennis Heitinga
Dennis Heitinga

Reputation: 65

CSS :hover issue

I got this problem with my pseudo classes, i have a dropdownlist with anchor taggs in it, like so:

<div class="btn-group" id="dropdown-wrapper">
    <a href="" data-toggle="dropdown" id="toggle-dropdown">Het 10-stappenplan <i class="fa fa-caret-down"></i></span></a>
    <ul class="dropdown-menu">
        <li><a class="menulink" href="?p=stap1">Stap 1 - Een oriënterend gesprek</a></li>
        <li><a class="menulink" href="?p=stap2">Stap 2 - De AirAware Quickscan</a></li>
        <li><a class="menulink" href="?p=stap3">Stap 3 - Uw ambitie, wensen en eisen</a></li>
        <li><a class="menulink" href="?p=stap4">Stap 4 - Ons Advies</a></li>
        <li><a class="menulink" href="?p=stap5">Stap 5 - Uw keuze</a></li>
        <li><a class="menulink" href="?p=stap6">Stap 6 - Het ontwerp en de planning</a></li>
        <li><a class="menulink" href="?p=stap7">Stap 7 - De realisatie</a></li>
        <li><a class="menulink" href="?p=stap8">Stap 8 - Het beheer en onderhoud</a></li>
        <li><a class="menulink" href="?p=stap9">Stap 9 - De periodieke controle</a></li>
        <li><a class="menulink" href="?p=stap10">Stap 10 - Sale &amp; Leaseback</a></li>
    </ul>
</div>

then i got my CSS:

.links .dropdown-menu li a.menulink{
    padding: 8px 5px 8px 5px;
    color: white;
    width: 260px;
}

.links .dropdown-menu li a.menulink:hover {
    animation: textColorfade 2s ease forwards !important;
    -webkit-animation: textColorfade 2s ease forwards !important;
    color:black;
    padding: 8px 5 8px 20px !important;
    background-color: white !important;
}

@-webkit-keyframes textColorfade {
    from { 
    color: white !important; 
    padding: 8px 5px 8px 10px !important;
    }

    to { 
    color: black !important; 
    padding: 8px 5px 8px 10px !important;
   }
   }

for some reason when the link is visited it doesnt do the keyframe animation anymore, i believe neither when its active, can anyone explain me why and maybe how i can fix this problem

Upvotes: 0

Views: 128

Answers (3)

Mitul
Mitul

Reputation: 3437

Hello Here is the working demo on hover functionality http://jsfiddle.net/patelmit69/625hv792/1/

HTML

<div class="btn-group links" id="dropdown-wrapper"> <a href="" data-toggle="dropdown" id="toggle-dropdown">Het 10-stappenplan <i class="fa fa-caret-down"></i></span></a>

<ul class="dropdown-menu">
    <li><a class="menulink" href="?p=stap1">Stap 1 - Een oriënterend gesprek</a>
    </li>
    <li><a class="menulink" href="?p=stap2">Stap 2 - De AirAware Quickscan</a>
    </li>
    <li><a class="menulink" href="?p=stap3">Stap 3 - Uw ambitie, wensen en eisen</a>
    </li>
    <li><a class="menulink" href="?p=stap4">Stap 4 - Ons Advies</a>
    </li>
    <li><a class="menulink" href="?p=stap5">Stap 5 - Uw keuze</a>
    </li>
    <li><a class="menulink" href="?p=stap6">Stap 6 - Het ontwerp en de planning</a>
    </li>
    <li><a class="menulink" href="?p=stap7">Stap 7 - De realisatie</a>
    </li>
    <li><a class="menulink" href="?p=stap8">Stap 8 - Het beheer en onderhoud</a>
    </li>
    <li><a class="menulink" href="?p=stap9">Stap 9 - De periodieke controle</a>
    </li>
    <li><a class="menulink" href="?p=stap10">Stap 10 - Sale &amp; Leaseback</a>
    </li>
</ul>

CSS

.links .dropdown-menu li a.menulink {
    padding: 8px 5px 8px 5px;
    color: #000;
    width: 260px;
}
.links .dropdown-menu {
    animation: textColorfade 2s ease forwards;
    -webkit-animation: textColorfade 2s ease forwards;             
    color:black;
    display:none;
}
.links:hover .dropdown-menu {
    display:block;
}

Upvotes: 0

Paulie_D
Paulie_D

Reputation: 115374

Links cannot have multiple pseudo-classes / states so

a:visited:hover {
}

is not possible.

I suspect what you are after is a transition not an animation.

Upvotes: 1

K K
K K

Reputation: 18109

You missed the .links class in html:

HTML:

<div class="btn-group links" id="dropdown-wrapper"> <a href="" data-toggle="dropdown" id="toggle-dropdown">Het 10-stappenplan <i class="fa fa-caret-down"></i></span></a>

    <ul class="dropdown-menu">
        <li><a class="menulink" href="?p=stap1">Stap 1 - Een oriënterend gesprek</a>

        </li>
        <li><a class="menulink" href="?p=stap2">Stap 2 - De AirAware Quickscan</a>

        </li>
        <li><a class="menulink" href="?p=stap3">Stap 3 - Uw ambitie, wensen en eisen</a>

        </li>
        <li><a class="menulink" href="?p=stap4">Stap 4 - Ons Advies</a>

        </li>
        <li><a class="menulink" href="?p=stap5">Stap 5 - Uw keuze</a>

        </li>
        <li><a class="menulink" href="?p=stap6">Stap 6 - Het ontwerp en de planning</a>

        </li>
        <li><a class="menulink" href="?p=stap7">Stap 7 - De realisatie</a>

        </li>
        <li><a class="menulink" href="?p=stap8">Stap 8 - Het beheer en onderhoud</a>

        </li>
        <li><a class="menulink" href="?p=stap9">Stap 9 - De periodieke controle</a>

        </li>
        <li><a class="menulink" href="?p=stap10">Stap 10 - Sale &amp; Leaseback</a>

        </li>
    </ul>
</div>

CSS:

.links .dropdown-menu li a.menulink { //here you missed `.` in links
    padding: 8px 5px 8px 5px;
    color: white;
    width: 260px;
}
.links .dropdown-menu li a.menulink:hover {
    animation: textColorfade 2s ease forwards !important;
    -webkit-animation: textColorfade 2s ease forwards !important color:black;
    padding: 8px 5 8px 20px !important;
    background-color: white !important;
}
@-webkit-keyframes textColorfade {
    from {
        color: white !important;
        padding: 8px 5px 8px 10px !important;
    }
    to {
        color: black !important;
        padding: 8px 5px 8px 10px !important;
    }
}

Demo: http://jsfiddle.net/lotusgodkk/GCu2D/731/

Upvotes: 0

Related Questions