2012-11-16 2 views
12

Ich mache ein Slide-Out-Menü mit HTML und CSS3 - insbesondere Übergänge.transform: translateX vs Übergang auf der linken Eigenschaft. Welche hat bessere Leistung? CSS

Ich würde gerne wissen, was Best Practice/beste Leistung ist, um ein relativ positioniertes div horizontal zu verschieben. Wenn ich auf eine Schaltfläche klicke, fügt sie meiner Klasse eine Klasse hinzu. Welche Klasse ist besser? (Hinweis: Ich kann später alle Browserpräfixe hinzufügen, und diese Website ist nur für moderne Browser geeignet).

//option 1 
.animate{ 
    -webkit-transition:all ease 0.3s; 
    -webkit-transform:translateZ(200px); 
} 

//option 2 
.animate{ 
    -webkit-transition:all ease 0.3s; 
    left:200px; 
} 

Dank

+0

http://blog.alexmaccaw.com/css-transitions –

Antwort

10

Transitions über übersetzen führt viel besser auf mobile Geräte!

Edit: Hier sind eine Live-Demo. Übergänge mit translateX und translateY sind viel glatter als top, bottom, left und right.

+0

Tests oder Artikel für das? – JackMahoney

+0

Ich baue gerade eine Webapp für das iPad. Und die Leistung mit translateX und translateY ist VIEL besser als mit links, rechts, oben und unten. Aber wenn Sie es nur für Desktop-Browser erstellen, werden Sie keinen Unterschied sehen. Und es gibt einen anderen Unterschied. Wenn Sie nach links animieren: 100% wird das Element auf 100% der Elternbreite animiert. Und wenn Sie translateX (100%) animieren, wird das Element zu 100% der eigenen Breite animiert. Ich habe keine Tests oder Artikel im Moment - nur meine Erfahrung;) aber ich werde heute ein jsFiddle vorbereiten ... –

+0

Hier sehen Sie sich das an. Schweben Sie einfach (oder klicken Sie auf Mobile) auf der linken Seite und auf der rechten Seite. Die translateY Übergänge sind auf meinem iPad 3 viel glatter. http://jsfiddle.net/philippkuehn/wLm87/ –

Verwandte Themen