2016-08-22 2 views
5

Ich habe eine CSS-Klasse, die bei Hover sollte die justify-content Eigenschaft von center zu flex-start mit einer Verzögerung von 1s ändern.Übergang auf flexbox anwenden justify-content-Eigenschaft

So funktioniert alles gut und wird verzögert, außer von der .

.menuItem:hover { 
    transition-property: all; 
    transition-delay: 1s; 
    justify-content: flex-start; 
} 

Mache ich etwas falsch? Und wenn ja, wie kann ich dieses Verhalten erreichen?

+1

Können Sie das Problem in einem [** Stapel Snippet reproduzieren * *] (https://blog.stackoverflow.com/2014/09/introducing-runnable-javascript-css-and-html-code-snippets/) oder [** Fiddle **] (http://jsfiddle.net) /) – Pugazh

Antwort

-3

Okay, so wie skreborn erwähnt, Sie kippe Verwendung Übergang auf rechtfertigen Inhalt, also versuchte ich mit Animation und es funktioniert:

.menuItem:hover { 
    animation-name: change-content; 
    animation-delay: 1s; 
    animation-fill-mode: forwards; 
} 

@keyframes change-content { 
    from { justify-content: center; } 
    to { justify-content: flex-start; } 
} 
+1

In welchem ​​Browser haben Sie das versucht? Es scheint nicht für mich zu funktionieren. http://codepen.io/anon/pen/yJWVpX – skreborn

+0

Im mit Chrom, und der Link, den Sie mir gaben funktioniert – Pachu

+0

funktioniert nicht in Chrom Version 58.0.3029.96 (64-Bit) – badigard

9

justify-content ist keine übergangsfähige Eigenschaft. Sie können die vollständige Liste der kompatiblen Eigenschaften here finden. Alle nicht aufgelisteten Eigenschaften sollten einfach an ihren neuen Wert angepasst werden.

Wenn Sie nur ein einzelnes Element animieren müssen, können Sie versuchen, absolute Positionierung zu verwenden.

#wrapper { 
    position: relative; 
} 

#element { 
    position: absolute; 
    left: 50%; 
    transform: translateX(-50%); 
    transition: all 300ms; 
} 

#element:hover { 
    left: 0; 
    transform: translateX(0); 
} 

Denken Sie daran, dass dies nicht Arbeit für mehrere Elemente.

+0

Okay, wie kann ich dieses Verhalten erreichen? – Pachu

+0

@Pachu Ich habe meine Antwort mit einer Problemumgehung aktualisiert - vorausgesetzt, dass Sie nur ein einziges zu animierendes Element haben. – skreborn

+0

Hallo, ich habe einen Weg gefunden, der perfekt funktioniert, was keine Problemumgehung ist, ich habe eine Antwort hinzugefügt, ich werde deine Antwort abstimmen, weil du mir geholfen hast, einen anderen Weg zu finden. – Pachu