2017-06-15 1 views
-2

Also ich habe dieses Design für einen Menü-Button ich mag wirklich von dieser WordPress-Website - http://www.sensoryguru.com/. Wenn man über das Menü schwebt, wird hinter dem Text eine Box animiert, aber ich kann nicht herausfinden, wie es gemacht wurde, oder irgendwo im CSS der Website finden. Irgendwelche Ideen, welche CSS ich verwenden muss? Jede Hilfe wird geschätzt, wenn jemand mir helfen kann, dies selbst zu implementieren und mir mit dem CSS-Code zu helfen, den ich brauche.CSS Button Animation von Text zu Box

Danke,

Harvey

Antwort

0

Es ist ein ziemlich einfaches Konzept. Positionieren Sie die Verbindung relativ, positionieren Sie ein Pseudoelement in der Verbindung und verwenden Sie transition mit scaleX(), um die Breite von der Mitte zu skalieren.

nav a { 
 
    display: inline-block; 
 
    padding: .25em 2em; 
 
    margin: 1em; 
 
    position: relative; 
 
    border-radius: .5em; 
 
    overflow: hidden; 
 
} 
 
nav a:before { 
 
    content: ''; 
 
    position: absolute; 
 
    top: 0; left: 0; right: 0; bottom: 0; 
 
    z-index: -1; 
 
    background: pink; 
 
    transform: scaleX(0); 
 
    transition: transform .25s; 
 
} 
 
nav a:hover:before, nav .active:before { 
 
    transform: scaleX(1); 
 
}
<nav> 
 
    <a href="#" class="active">link</a> 
 
    <a href="#">link</a> 
 
    <a href="#">link</a> 
 
</nav>

+0

Danke, ich werde es versuchen und sehen, was ich – Harvey

+0

Hallo, ich habe das gerade getestet, wie bin ich bin ich in der Lage, dies zu der Navigationsleiste nur anwenden und nicht die ganze Seite wie andere Knöpfe, die ich im Körper und Scroll-Banner habe? Auch welcher Teil des CSS steuert die Auffüllung/Größe, wenn der Hintergrund beim Schweben ist? – Harvey

+0

@Harvey limitieren Sie die CSS mit einem bestimmten Selektor wie 'nav a' anstelle von' a'. Aktualisiere meine Antwort damit. Um das Padding des Hintergrunds zu beeinflussen, ändern Sie einfach das Padding von 'nav a'. Der Hintergrund füllt das gesamte "a" -Element. –