2017-12-24 176 views
5

Mam listę linków i po ich najechaniu, chcę czcionkę rozwijać płynnie.Link rosną czcionki na hover

Obecnie czcionka rośnie natychmiast, nawet przy użyciu transition.

#menuHeader { 
 
    font-weight: bold; 
 
} 
 

 
.link { 
 
    text-decoration: none; 
 
} 
 

 
.menuItem { 
 
    list-style-type: none; 
 
    margin-bottom: 10px; 
 
} 
 

 
.menuLink { 
 
    transition-property: font-size; 
 
    transition-property: color; 
 
    transition-duration: 0.3s; 
 
    font-size: 16px; 
 
    color: #000000; 
 
} 
 

 
.menuLink:hover { 
 
    transition-property: font-size; 
 
    transition-property: color; 
 
    transition-duration: 0.3s; 
 
    font-size: 20px; 
 
    color: #97d700; 
 
}
<ul> 
 
    <li class="menuItem" id="menuHeader">Title</li> 
 
    <li class="menuItem"><a class="link menuLink" href="/">Link 1</a></li> 
 
    <li class="menuItem"><a class="link menuLink" href="/">Link 2</a></li> 
 
    <li class="menuItem"><a class="link menuLink" href="/">Link 3</a></li> 
 
</ul>

To jest przykładowa strona

https://www.roidna.com/services/

Linki załączone w blokach po najechaniu na nich rozwijać swoją wielkość.

+1

stwierdzenie 'własność transition' do naturalnego * * stan elementu, aby dotyczył zarówno stanów naturalnych, jak i najechania. Następnie zadeklaruj ** tylko jedną regułę 'transition-property', kolejność kaskadowa zastosuje tylko ostatnią regułę i zaneguje wszystkie poprzednie stwierdzenia tego samego typu. Rozważ użycie skróconej własności; 'transition', aby zastosować efekty przejścia do każdej zmiany właściwości elementu (np.' color' i 'font-size') – UncaughtTypeError

Odpowiedz

6

Masz jakiś nadrzędny dzieje. Trzeba zadeklarować je w jednym wierszu:

transition: color 0.5s, font-size 0.5s; 

#menuHeader { 
 
    font-weight: bold; 
 
} 
 

 
.link { 
 
    text-decoration: none; 
 
} 
 

 
.menuItem { 
 
    list-style-type: none; 
 
    margin-bottom: 10px; 
 
} 
 

 
.menuLink { 
 
    -webkit-transition: color 0.5s, font-size 0.5s; 
 
    transition: color 0.5s, font-size 0.5s; 
 
    font-size: 16px; 
 
    color: #000000; 
 
} 
 

 
.menuLink:hover { 
 
    font-size: 20px; 
 
    color: #97d700; 
 
}
<ul> 
 
    <li class="menuItem" id="menuHeader">Title</li> 
 
    <li class="menuItem"><a class="link menuLink" href="/">Link 1</a></li> 
 
    <li class="menuItem"><a class="link menuLink" href="/">Link 2</a></li> 
 
    <li class="menuItem"><a class="link menuLink" href="/">Link 3</a></li> 
 
</ul>

1
.menuLink { 
    font-size: 16px; 
    color: #000000; 

    -webkit-transition: color 0.3s, font-size 0.3s; 
     -moz-transition: color 0.3s, font-size 0.3s; 
     -o-transition: color 0.3s, font-size 0.3s; 
      transition: color 0.3s, font-size 0.3s; 
} 

.menuLink:hover { 
    font-size: 20px; 
    color: #97d700; 
} 

Może to może pomóc

+0

Proszę również wyjaśnić zmiany i dlaczego kod programu uruchamiającego temat nie działa. –

0

przejściowy powinien być stosowany tylko do klasy .menuLink. Nie stosujemy tego do zawisu. Po prostu zmień kod na poniższy kod.

.menuLink { 
    transition: font-size 300ms ease-in-out; 
    font-size: 16px; 
    color: #000000; 
} 

.menuLink:hover { 
    font-size: 20px; 
    color: #97d700; 
} 
0

myślę, że lubisz składni CSS:

transform: scale(1.1); 

to może działać lepiej, ponieważ nie ma wpływu na inne linki