component.css 12KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569
  1. *,
  2. *:after,
  3. *::before {
  4. -moz-box-sizing: border-box;
  5. box-sizing: border-box;
  6. }
  7. html,
  8. body,
  9. .st-container,
  10. .st-pusher,
  11. .st-content {
  12. height: 100%;
  13. }
  14. .st-content {
  15. overflow-y: scroll;
  16. background: #f3efe0;
  17. }
  18. .st-content,
  19. .st-content-inner {
  20. position: relative;
  21. }
  22. .st-container {
  23. position: relative;
  24. overflow: hidden;
  25. }
  26. .st-pusher {
  27. position: relative;
  28. left: 0;
  29. z-index: 99;
  30. height: 100%;
  31. -webkit-transition: -webkit-transform 0.5s;
  32. transition: transform 0.5s;
  33. }
  34. .st-pusher::after {
  35. position: absolute;
  36. top: 0;
  37. right: 0;
  38. width: 0;
  39. height: 0;
  40. background: rgba(0,0,0,0.2);
  41. content: '';
  42. opacity: 0;
  43. -webkit-transition: opacity 0.5s, width 0.1s 0.5s, height 0.1s 0.5s;
  44. transition: opacity 0.5s, width 0.1s 0.5s, height 0.1s 0.5s;
  45. }
  46. .st-menu-open .st-pusher::after {
  47. width: 100%;
  48. height: 100%;
  49. opacity: 1;
  50. -webkit-transition: opacity 0.5s;
  51. transition: opacity 0.5s;
  52. }
  53. .st-menu {
  54. position: absolute;
  55. top: 0;
  56. left: 0;
  57. z-index: 100;
  58. visibility: hidden;
  59. width: 300px;
  60. height: 100%;
  61. background: #48a770;
  62. -webkit-transition: all 0.5s;
  63. transition: all 0.5s;
  64. }
  65. .st-menu::after {
  66. position: absolute;
  67. top: 0;
  68. right: 0;
  69. width: 100%;
  70. height: 100%;
  71. background: rgba(0,0,0,0.2);
  72. content: '';
  73. opacity: 1;
  74. -webkit-transition: opacity 0.5s;
  75. transition: opacity 0.5s;
  76. }
  77. .st-menu-open .st-menu::after {
  78. width: 0;
  79. height: 0;
  80. opacity: 0;
  81. -webkit-transition: opacity 0.5s, width 0.1s 0.5s, height 0.1s 0.5s;
  82. transition: opacity 0.5s, width 0.1s 0.5s, height 0.1s 0.5s;
  83. }
  84. /* content style */
  85. .st-menu ul {
  86. margin: 0;
  87. padding: 0;
  88. list-style: none;
  89. }
  90. .st-menu h2 {
  91. margin: 0;
  92. padding: 1em;
  93. color: rgba(0,0,0,0.4);
  94. text-shadow: 0 0 1px rgba(0,0,0,0.1);
  95. font-weight: 300;
  96. font-size: 2em;
  97. }
  98. .st-menu ul li a {
  99. display: block;
  100. padding: 1em 1em 1em 1.2em;
  101. outline: none;
  102. box-shadow: inset 0 -1px rgba(0,0,0,0.2);
  103. color: #f3efe0;
  104. text-transform: uppercase;
  105. text-shadow: 0 0 1px rgba(255,255,255,0.1);
  106. letter-spacing: 1px;
  107. font-weight: 400;
  108. -webkit-transition: background 0.3s, box-shadow 0.3s;
  109. transition: background 0.3s, box-shadow 0.3s;
  110. }
  111. .st-menu ul li:first-child a {
  112. box-shadow: inset 0 -1px rgba(0,0,0,0.2), inset 0 1px rgba(0,0,0,0.2);
  113. }
  114. .st-menu ul li a:hover {
  115. background: rgba(0,0,0,0.2);
  116. box-shadow: inset 0 -1px rgba(0,0,0,0);
  117. color: #fff;
  118. }
  119. /* Individual effects */
  120. /* Effect 1: Slide in on top */
  121. .st-effect-1.st-menu {
  122. visibility: visible;
  123. -webkit-transform: translate3d(-100%, 0, 0);
  124. transform: translate3d(-100%, 0, 0);
  125. }
  126. .st-effect-1.st-menu-open .st-effect-1.st-menu {
  127. visibility: visible;
  128. -webkit-transform: translate3d(0, 0, 0);
  129. transform: translate3d(0, 0, 0);
  130. }
  131. .st-effect-1.st-menu::after {
  132. display: none;
  133. }
  134. /* Effect 2: Reveal */
  135. .st-effect-2.st-menu-open .st-pusher {
  136. -webkit-transform: translate3d(300px, 0, 0);
  137. transform: translate3d(300px, 0, 0);
  138. }
  139. .st-effect-2.st-menu {
  140. z-index: 1;
  141. }
  142. .st-effect-2.st-menu-open .st-effect-2.st-menu {
  143. visibility: visible;
  144. -webkit-transition: -webkit-transform 0.5s;
  145. transition: transform 0.5s;
  146. }
  147. .st-effect-2.st-menu::after {
  148. display: none;
  149. }
  150. /* Effect 3: Push*/
  151. .st-effect-3.st-menu-open .st-pusher {
  152. -webkit-transform: translate3d(300px, 0, 0);
  153. transform: translate3d(300px, 0, 0);
  154. }
  155. .st-effect-3.st-menu {
  156. -webkit-transform: translate3d(-100%, 0, 0);
  157. transform: translate3d(-100%, 0, 0);
  158. }
  159. .st-effect-3.st-menu-open .st-effect-3.st-menu {
  160. visibility: visible;
  161. -webkit-transition: -webkit-transform 0.5s;
  162. transition: transform 0.5s;
  163. }
  164. .st-effect-3.st-menu::after {
  165. display: none;
  166. }
  167. /* Effect 4: Slide along */
  168. .st-effect-4.st-menu-open .st-pusher {
  169. -webkit-transform: translate3d(300px, 0, 0);
  170. transform: translate3d(300px, 0, 0);
  171. }
  172. .st-effect-4.st-menu {
  173. z-index: 1;
  174. -webkit-transform: translate3d(-50%, 0, 0);
  175. transform: translate3d(-50%, 0, 0);
  176. }
  177. .st-effect-4.st-menu-open .st-effect-4.st-menu {
  178. visibility: visible;
  179. -webkit-transition: -webkit-transform 0.5s;
  180. transition: transform 0.5s;
  181. -webkit-transform: translate3d(0, 0, 0);
  182. transform: translate3d(0, 0, 0);
  183. }
  184. .st-effect-4.st-menu::after {
  185. display: none;
  186. }
  187. /* Effect 5: Reverse slide out */
  188. .st-effect-5.st-menu-open .st-pusher {
  189. -webkit-transform: translate3d(300px, 0, 0);
  190. transform: translate3d(300px, 0, 0);
  191. }
  192. .st-effect-5.st-menu {
  193. z-index: 1;
  194. -webkit-transform: translate3d(50%, 0, 0);
  195. transform: translate3d(50%, 0, 0);
  196. }
  197. .st-effect-5.st-menu-open .st-effect-5.st-menu {
  198. visibility: visible;
  199. -webkit-transition: -webkit-transform 0.5s;
  200. transition: transform 0.5s;
  201. -webkit-transform: translate3d(0, 0, 0);
  202. transform: translate3d(0, 0, 0);
  203. }
  204. /* Effect 6: Rotate pusher */
  205. .st-effect-6.st-container {
  206. -webkit-perspective: 1500px;
  207. perspective: 1500px;
  208. }
  209. .st-effect-6 .st-pusher {
  210. -webkit-transform-origin: 0% 50%;
  211. transform-origin: 0% 50%;
  212. -webkit-transform-style: preserve-3d;
  213. transform-style: preserve-3d;
  214. }
  215. .st-effect-6.st-menu-open .st-pusher {
  216. -webkit-transform: translate3d(300px, 0, 0) rotateY(-15deg);
  217. transform: translate3d(300px, 0, 0) rotateY(-15deg);
  218. }
  219. .st-effect-6.st-menu {
  220. -webkit-transform: translate3d(-100%, 0, 0);
  221. transform: translate3d(-100%, 0, 0);
  222. -webkit-transform-origin: 100% 50%;
  223. transform-origin: 100% 50%;
  224. -webkit-transform-style: preserve-3d;
  225. transform-style: preserve-3d;
  226. }
  227. .st-effect-6.st-menu-open .st-effect-6.st-menu {
  228. visibility: visible;
  229. -webkit-transition: -webkit-transform 0.5s;
  230. transition: transform 0.5s;
  231. -webkit-transform: translate3d(-100%, 0, 0) rotateY(15deg);
  232. transform: translate3d(-100%, 0, 0) rotateY(15deg);
  233. }
  234. .st-effect-6.st-menu::after {
  235. display: none;
  236. }
  237. /* Effect 7: 3D rotate in */
  238. .st-effect-7.st-container {
  239. -webkit-perspective: 1500px;
  240. perspective: 1500px;
  241. -webkit-perspective-origin: 0% 50%;
  242. perspective-origin: 0% 50%;
  243. }
  244. .st-effect-7 .st-pusher {
  245. -webkit-transform-style: preserve-3d;
  246. transform-style: preserve-3d;
  247. }
  248. .st-effect-7.st-menu-open .st-pusher {
  249. -webkit-transform: translate3d(300px, 0, 0);
  250. transform: translate3d(300px, 0, 0);
  251. }
  252. .st-effect-7.st-menu {
  253. -webkit-transform: translate3d(-100%, 0, 0) rotateY(-90deg);
  254. transform: translate3d(-100%, 0, 0) rotateY(-90deg);
  255. -webkit-transform-origin: 100% 50%;
  256. transform-origin: 100% 50%;
  257. -webkit-transform-style: preserve-3d;
  258. transform-style: preserve-3d;
  259. }
  260. .st-effect-7.st-menu-open .st-effect-7.st-menu {
  261. visibility: visible;
  262. -webkit-transition: -webkit-transform 0.5s;
  263. transition: transform 0.5s;
  264. -webkit-transform: translate3d(-100%, 0, 0) rotateY(0deg);
  265. transform: translate3d(-100%, 0, 0) rotateY(0deg);
  266. }
  267. /* Effect 8: 3D rotate out */
  268. .st-effect-8.st-container {
  269. -webkit-perspective: 1500px;
  270. perspective: 1500px;
  271. -webkit-perspective-origin: 0% 50%;
  272. perspective-origin: 0% 50%;
  273. }
  274. .st-effect-8 .st-pusher {
  275. -webkit-transform-style: preserve-3d;
  276. transform-style: preserve-3d;
  277. }
  278. .st-effect-8.st-menu-open .st-pusher {
  279. -webkit-transform: translate3d(300px, 0, 0);
  280. transform: translate3d(300px, 0, 0);
  281. }
  282. .st-effect-8.st-menu {
  283. -webkit-transform: translate3d(-100%, 0, 0) rotateY(90deg);
  284. transform: translate3d(-100%, 0, 0) rotateY(90deg);
  285. -webkit-transform-origin: 100% 50%;
  286. transform-origin: 100% 50%;
  287. -webkit-transform-style: preserve-3d;
  288. transform-style: preserve-3d;
  289. }
  290. .st-effect-8.st-menu-open .st-effect-8.st-menu {
  291. visibility: visible;
  292. -webkit-transition: -webkit-transform 0.5s;
  293. transition: transform 0.5s;
  294. -webkit-transform: translate3d(-100%, 0, 0) rotateY(0deg);
  295. transform: translate3d(-100%, 0, 0) rotateY(0deg);
  296. }
  297. .st-effect-8.st-menu::after {
  298. display: none;
  299. }
  300. /* Effect 9: Scale down pusher */
  301. .st-effect-9.st-container {
  302. -webkit-perspective: 1500px;
  303. perspective: 1500px;
  304. }
  305. .st-effect-9 .st-pusher {
  306. -webkit-transform-style: preserve-3d;
  307. transform-style: preserve-3d;
  308. }
  309. .st-effect-9.st-menu-open .st-pusher {
  310. -webkit-transform: translate3d(0, 0, -300px);
  311. transform: translate3d(0, 0, -300px);
  312. }
  313. .st-effect-9.st-menu {
  314. opacity: 1;
  315. -webkit-transform: translate3d(-100%, 0, 0);
  316. transform: translate3d(-100%, 0, 0);
  317. }
  318. .st-effect-9.st-menu-open .st-effect-9.st-menu {
  319. visibility: visible;
  320. -webkit-transition: -webkit-transform 0.5s;
  321. transition: transform 0.5s;
  322. -webkit-transform: translate3d(0, 0, 0);
  323. transform: translate3d(0, 0, 0);
  324. }
  325. .st-effect-9.st-menu::after {
  326. display: none;
  327. }
  328. /* Effect 10: Scale up */
  329. .st-effect-10.st-container {
  330. -webkit-perspective: 1500px;
  331. perspective: 1500px;
  332. -webkit-perspective-origin: 0% 50%;
  333. perspective-origin: 0% 50%;
  334. }
  335. .st-effect-10.st-menu-open .st-pusher {
  336. -webkit-transform: translate3d(300px, 0, 0);
  337. transform: translate3d(300px, 0, 0);
  338. }
  339. .st-effect-10.st-menu {
  340. z-index: 1;
  341. opacity: 1;
  342. -webkit-transform: translate3d(0, 0, -300px);
  343. transform: translate3d(0, 0, -300px);
  344. }
  345. .st-effect-10.st-menu-open .st-effect-10.st-menu {
  346. visibility: visible;
  347. -webkit-transition: -webkit-transform 0.5s;
  348. transition: transform 0.5s;
  349. -webkit-transform: translate3d(0, 0, 0);
  350. transform: translate3d(0, 0, 0);
  351. }
  352. /* Effect 11: Scale and rotate pusher */
  353. .st-effect-11.st-container {
  354. -webkit-perspective: 1500px;
  355. perspective: 1500px;
  356. }
  357. .st-effect-11 .st-pusher {
  358. -webkit-transform-style: preserve-3d;
  359. transform-style: preserve-3d;
  360. }
  361. .st-effect-11.st-menu-open .st-pusher {
  362. -webkit-transform: translate3d(100px, 0, -600px) rotateY(-20deg);
  363. transform: translate3d(100px, 0, -600px) rotateY(-20deg);
  364. }
  365. .st-effect-11.st-menu {
  366. opacity: 1;
  367. -webkit-transform: translate3d(-100%, 0, 0);
  368. transform: translate3d(-100%, 0, 0);
  369. }
  370. .st-effect-11.st-menu-open .st-effect-11.st-menu {
  371. visibility: visible;
  372. -webkit-transition: -webkit-transform 0.5s;
  373. transition: transform 0.5s;
  374. -webkit-transform: translate3d(0, 0, 0);
  375. transform: translate3d(0, 0, 0);
  376. }
  377. .st-effect-11.st-menu::after {
  378. display: none;
  379. }
  380. /* Effect 12: Open door */
  381. .st-effect-12.st-container {
  382. -webkit-perspective: 1500px;
  383. perspective: 1500px;
  384. }
  385. .st-effect-12 .st-pusher {
  386. -webkit-transform-origin: 100% 50%;
  387. transform-origin: 100% 50%;
  388. -webkit-transform-style: preserve-3d;
  389. transform-style: preserve-3d;
  390. }
  391. .st-effect-12.st-menu-open .st-pusher {
  392. -webkit-transform: rotateY(-10deg);
  393. transform: rotateY(-10deg);
  394. }
  395. .st-effect-12.st-menu {
  396. opacity: 1;
  397. -webkit-transform: translate3d(-100%, 0, 0);
  398. transform: translate3d(-100%, 0, 0);
  399. }
  400. .st-effect-12.st-menu-open .st-effect-12.st-menu {
  401. visibility: visible;
  402. -webkit-transition: -webkit-transform 0.5s;
  403. transition: transform 0.5s;
  404. -webkit-transform: translate3d(0, 0, 0);
  405. transform: translate3d(0, 0, 0);
  406. }
  407. .st-effect-12.st-menu::after {
  408. display: none;
  409. }
  410. /* Effect 13: Fall down */
  411. .st-effect-13.st-container {
  412. -webkit-perspective: 1500px;
  413. perspective: 1500px;
  414. -webkit-perspective-origin: 0% 50%;
  415. perspective-origin: 0% 50%;
  416. }
  417. .st-effect-13.st-menu-open .st-pusher {
  418. -webkit-transform: translate3d(300px, 0, 0);
  419. transform: translate3d(300px, 0, 0);
  420. }
  421. .st-effect-13.st-menu {
  422. z-index: 1;
  423. opacity: 1;
  424. -webkit-transform: translate3d(0, -100%, 0);
  425. transform: translate3d(0, -100%, 0);
  426. }
  427. .st-effect-13.st-menu-open .st-effect-13.st-menu {
  428. visibility: visible;
  429. -webkit-transition-timing-function: ease-in-out;
  430. transition-timing-function: ease-in-out;
  431. -webkit-transition-property: -webkit-transform;
  432. transition-property: transform;
  433. -webkit-transform: translate3d(0, 0, 0);
  434. transform: translate3d(0, 0, 0);
  435. -webkit-transition-speed: 0.2s;
  436. transition-speed: 0.2s;
  437. }
  438. /* Effect 14: Delayed 3D rotate */
  439. .st-effect-14.st-container {
  440. -webkit-perspective: 1500px;
  441. perspective: 1500px;
  442. -webkit-perspective-origin: 0% 50%;
  443. perspective-origin: 0% 50%;
  444. }
  445. .st-effect-14 .st-pusher {
  446. -webkit-transform-style: preserve-3d;
  447. transform-style: preserve-3d;
  448. }
  449. .st-effect-14.st-menu-open .st-pusher {
  450. -webkit-transform: translate3d(300px, 0, 0);
  451. transform: translate3d(300px, 0, 0);
  452. }
  453. .st-effect-14.st-menu {
  454. -webkit-transform: translate3d(-100%, 0, 0) rotateY(90deg);
  455. transform: translate3d(-100%, 0, 0) rotateY(90deg);
  456. -webkit-transform-origin: 0% 50%;
  457. transform-origin: 0% 50%;
  458. -webkit-transform-style: preserve-3d;
  459. transform-style: preserve-3d;
  460. }
  461. .st-effect-14.st-menu-open .st-effect-14.st-menu {
  462. visibility: visible;
  463. -webkit-transition-delay: 0.1s;
  464. transition-delay: 0.1s;
  465. -webkit-transition-timing-function: ease-in-out;
  466. transition-timing-function: ease-in-out;
  467. -webkit-transition-property: -webkit-transform;
  468. transition-property: transform;
  469. -webkit-transform: translate3d(-100%, 0, 0) rotateY(0deg);
  470. transform: translate3d(-100%, 0, 0) rotateY(0deg);
  471. }
  472. /* Fallback example for browsers that don't support 3D transforms (and no JS fallback) */
  473. .no-csstransforms3d .st-pusher,
  474. .no-js .st-pusher {
  475. padding-left: 300px;
  476. }