Advertisement
MerlynCooper

Using Less with JavaScript Injection for 3D rotation, possib

Mar 13th, 2013
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
CSS 2.83 KB | None | 0 0
  1. /*
  2.     Document   : matrix3d
  3.     Created on : 19-Dec-2012, 16:43:49
  4.     Author     : Merlyn Cooper <merlyn.cooper@hotmail.co.uk>
  5.     Description:
  6.         The intention is to use as minimal javascript (and code in general)
  7.         as possible to achieve 3D rotation of a HTML object using LESS.
  8. */
  9.  
  10. section {
  11.     background: #aaf;
  12.     height: 150px;
  13.     margin: 20px 0px;
  14.     border: 2px dashed #555;
  15. }
  16.  
  17. div {
  18.     background: #ffa;
  19.     width: 100px;
  20.     height: 100px;
  21.     margin: 10px 10px;
  22.     padding: 10px;
  23.     border: 2px dashed #555;
  24. }
  25.  
  26. root {
  27.     display: block;
  28. }
  29.  
  30. .cos(@degs)
  31. {
  32.     @cos: `Math.cos(@{degs}*(Math.PI/180))`;
  33.     /*converts degrees to radians, then assignss the cos value.*/
  34. }
  35.  
  36. .sin(@degs){
  37.     @sin: `Math.sin(@{degs}*(Math.PI/180))`;
  38.     /*converts degrees to radians, then assigns the sin value.*/
  39. }
  40.  
  41. .matrix{
  42.     /*
  43.     .matrix3d(scX,skX, Xp, pX, (1,0,0,0,
  44.               skY,scY, Yp, pY,  0,1,0,0,
  45.               scZ,skZ, Zp, pZ,  0,0,1,0,
  46.               tX, tY, tZ, tp);  0,0,0,1)
  47.     */
  48.     .matrix3d(
  49.                 .cos(60);, -(.sin(60));, 0, 0,
  50.                 .sin(60);, .cos(60); , 0, 0,
  51.                 0       , 0        , 1, 0,
  52.                 0       , 0        , 0, 1);
  53. }
  54.  
  55. /*0.5000000000000001, -0.8660254037844386, 0, 0,
  56. *0.8660254037844386, 0.5000000000000001 , 0, 0,
  57. */
  58. /*
  59.  *
  60.  * ■ perspective :changes the Screen perspective.
  61.  * perspective ■ :changes the axis perspective.
  62.  * translateP    :translates the perspective point.
  63.  *
  64.  */
  65. .matrix3d(@scaleX, @skewX, @Xperspective, @perspectiveX,@skewY, @scaleY, @Yperspective, @perspectiveY, @scaleZ, @skewZ, @Zperspective, @perspectiveZ,@translateX,@translateY,@translateZ,@translateP)
  66. {
  67.     transform: matrix3d(@scaleX, @skewX, @Xperspective, @perspectiveX,@skewY, @scaleY, @Yperspective, @perspectiveY, @scaleZ, @skewZ, @Zperspective, @perspectiveZ,@translateX,@translateY,@translateZ,@translateP);
  68.     -webkit-transform: matrix3d(@scaleX, @skewX, @Xperspective, @perspectiveX,@skewY, @scaleY, @Yperspective, @perspectiveY, @scaleZ, @skewZ, @Zperspective, @perspectiveZ,@translateX,@translateY,@translateZ,@translateP); /* safari and chrome */
  69.     -moz-transform: matrix3d(@scaleX, @skewX, @Xperspective, @perspectiveX,@skewY, @scaleY, @Yperspective, @perspectiveY, @scaleZ, @skewZ, @Zperspective, @perspectiveZ,@translateX,@translateY,@translateZ,@translateP); /* firefox */
  70.     -o-transform: matrix3d(@scaleX, @skewX, @Xperspective, @perspectiveX,@skewY, @scaleY, @Yperspective, @perspectiveY, @scaleZ, @skewZ, @Zperspective, @perspectiveZ,@translateX,@translateY,@translateZ,@translateP); /* opera */
  71.     -ms-transform: matrix3d(@scaleX, @skewX, @Xperspective, @perspectiveX,@skewY, @scaleY, @Yperspective, @perspectiveY, @scaleZ, @skewZ, @Zperspective, @perspectiveZ,@translateX,@translateY,@translateZ,@translateP); /* ie9 */
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement