12-09-fixed-menu-hider-transform.html 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <title>Fixed menu hider example</title>
  7. <style>
  8. html, body, .page-footer {
  9. height: 100%;
  10. }
  11. body {
  12. font-family: Avenir Next, SegoeUI, sans-serif;
  13. background-color: #4e2450;
  14. background-image: linear-gradient(to right, #4e2450, #664267);
  15. color: #fff;
  16. padding-top: 3.125em; /* 50px */
  17. margin: 0;
  18. }
  19. .wrapper {
  20. max-width: 76em;
  21. width: 95%;
  22. margin: 0 auto;
  23. overflow: hidden;
  24. }
  25. .a11y-hidden {
  26. top: 0;
  27. position: absolute;
  28. crop: rect(0,0,0,0);
  29. height: 0;
  30. width: 0;
  31. margin: -1px;
  32. overflow: hidden;
  33. }
  34. .page-head {
  35. position: fixed;
  36. top: 0;
  37. left: 0;
  38. width: 100%;
  39. height: 3.125em;
  40. background-color: #fff;
  41. color: #454545;
  42. box-shadow: 0 .25em .25em rgba(0,0,0,0.2);
  43. -webkit-transition: -webkit-transform .25s ease-in-out;
  44. transition: -webkit-transform .25s ease-in-out;
  45. -moz-transition: transform .25s ease-in-out, -moz-transform .25s ease-in-out;
  46. -o-transition: transform .25s ease-in-out, -o-transform .25s ease-in-out;
  47. transition: transform .25s ease-in-out;
  48. transition: transform .25s ease-in-out, -webkit-transform .25s ease-in-out, -moz-transform .25s ease-in-out, -o-transform .25s ease-in-out;
  49. -webkit-transform: translateY(0);
  50. -moz-transform: translateY(0);
  51. -ms-transform: translateY(0);
  52. -o-transform: translateY(0);
  53. transform: translateY(0);
  54. will-change: transform;
  55. }
  56. .page-head-hide {
  57. -webkit-transform: translateY(-100%);
  58. -moz-transform: translateY(-100%);
  59. -ms-transform: translateY(-100%);
  60. -o-transform: translateY(-100%);
  61. transform: translateY(-100%);
  62. }
  63. .page-title {
  64. margin: .2916em 0; /* 7px 0 */
  65. font-size: 1.5em;
  66. line-height: 1.5;
  67. float: left;
  68. }
  69. .page-title a {
  70. color: inherit;
  71. text-decoration: none;
  72. }
  73. .page-head-menu {
  74. margin: .4375em 0;
  75. line-height: 2.125;
  76. float: right;
  77. }
  78. .page-footer {
  79. background-color: #333;
  80. color: #fff;
  81. }
  82. .page-footer-title {
  83. margin: 0;
  84. font-size: 1.5em;
  85. line-height: 1.5;
  86. margin: .2916em 0;
  87. }
  88. .page-footer a {
  89. color: #fff;
  90. }
  91. .page-footer-links {
  92. list-style: none;
  93. padding: 0;
  94. margin: 1.5em 0;
  95. }
  96. .page-footer-links li {
  97. border-top: 1px solid #666;
  98. }
  99. .page-footer-links a {
  100. text-decoration: none;
  101. display: block;
  102. line-height: 2.125;
  103. padding: .25em;
  104. }
  105. .page-footer-links a:hover,
  106. .page-footer-links a:focus {
  107. background-color: #000;
  108. }
  109. .post {
  110. background-color: #fff;
  111. color: #333;
  112. padding: 2em;
  113. margin: 2em 0;
  114. box-shadow: 0 .25em .25em rgba(0,0,0,0.2);
  115. border-radius: .5em;
  116. }
  117. .post a {
  118. color: #39508e;
  119. }
  120. </style>
  121. </head>
  122. <body>
  123. <a id="top" name="top"><span class="a11y-hidden">Top of the page</span></a>
  124. <header class="page-head">
  125. <div class="wrapper">
  126. <h1 class="page-title"><a href="/" id="page-title-link">Fixed</a></h1>
  127. <p class="page-head-menu">
  128. <a href="#menu-list">Menu</a>
  129. </p>
  130. </div>
  131. </header>
  132. <main>
  133. <div class="wrapper">
  134. <article class="post">
  135. <h2><a href="/post">Fixed positioning: friend or foe?</a></h2>
  136. <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatum aliquid minima at, sint reprehenderit soluta voluptates assumenda delectus cumque provident enim, quas facilis ab! Ipsa amet, vel nesciunt odit atque.</p>
  137. <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatum aliquid minima at, sint reprehenderit soluta voluptates assumenda delectus cumque provident enim, quas facilis ab! Ipsa amet, vel nesciunt odit atque.</p>
  138. <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatum aliquid minima at, sint reprehenderit soluta voluptates assumenda delectus cumque provident enim, quas facilis ab! Ipsa amet, vel nesciunt odit atque.</p>
  139. </article>
  140. <article class="post">
  141. <h2><a href="/post">Fixed positioning: friend or foe?</a></h2>
  142. <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatum aliquid minima at, sint reprehenderit soluta voluptates assumenda delectus cumque provident enim, quas facilis ab! Ipsa amet, vel nesciunt odit atque.</p>
  143. <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatum aliquid minima at, sint reprehenderit soluta voluptates assumenda delectus cumque provident enim, quas facilis ab! Ipsa amet, vel nesciunt odit atque.</p>
  144. <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatum aliquid minima at, sint reprehenderit soluta voluptates assumenda delectus cumque provident enim, quas facilis ab! Ipsa amet, vel nesciunt odit atque.</p>
  145. </article>
  146. <article class="post">
  147. <h2><a href="/post">Fixed positioning: friend or foe?</a></h2>
  148. <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatum aliquid minima at, sint reprehenderit soluta voluptates assumenda delectus cumque provident enim, quas facilis ab! Ipsa amet, vel nesciunt odit atque.</p>
  149. <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatum aliquid minima at, sint reprehenderit soluta voluptates assumenda delectus cumque provident enim, quas facilis ab! Ipsa amet, vel nesciunt odit atque.</p>
  150. <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatum aliquid minima at, sint reprehenderit soluta voluptates assumenda delectus cumque provident enim, quas facilis ab! Ipsa amet, vel nesciunt odit atque.</p>
  151. </article>
  152. <article class="post">
  153. <h2><a href="/post">Fixed positioning: friend or foe?</a></h2>
  154. <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatum aliquid minima at, sint reprehenderit soluta voluptates assumenda delectus cumque provident enim, quas facilis ab! Ipsa amet, vel nesciunt odit atque.</p>
  155. <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatum aliquid minima at, sint reprehenderit soluta voluptates assumenda delectus cumque provident enim, quas facilis ab! Ipsa amet, vel nesciunt odit atque.</p>
  156. <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatum aliquid minima at, sint reprehenderit soluta voluptates assumenda delectus cumque provident enim, quas facilis ab! Ipsa amet, vel nesciunt odit atque.</p>
  157. </article>
  158. <article class="post">
  159. <h2><a href="/post">Fixed positioning: friend or foe?</a></h2>
  160. <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatum aliquid minima at, sint reprehenderit soluta voluptates assumenda delectus cumque provident enim, quas facilis ab! Ipsa amet, vel nesciunt odit atque.</p>
  161. <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatum aliquid minima at, sint reprehenderit soluta voluptates assumenda delectus cumque provident enim, quas facilis ab! Ipsa amet, vel nesciunt odit atque.</p>
  162. <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatum aliquid minima at, sint reprehenderit soluta voluptates assumenda delectus cumque provident enim, quas facilis ab! Ipsa amet, vel nesciunt odit atque.</p>
  163. </article>
  164. <article class="post">
  165. <h2><a href="/post">Fixed positioning: friend or foe?</a></h2>
  166. <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatum aliquid minima at, sint reprehenderit soluta voluptates assumenda delectus cumque provident enim, quas facilis ab! Ipsa amet, vel nesciunt odit atque.</p>
  167. <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatum aliquid minima at, sint reprehenderit soluta voluptates assumenda delectus cumque provident enim, quas facilis ab! Ipsa amet, vel nesciunt odit atque.</p>
  168. <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatum aliquid minima at, sint reprehenderit soluta voluptates assumenda delectus cumque provident enim, quas facilis ab! Ipsa amet, vel nesciunt odit atque.</p>
  169. </article>
  170. <article class="post">
  171. <h2><a href="/post">Fixed positioning: friend or foe?</a></h2>
  172. <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatum aliquid minima at, sint reprehenderit soluta voluptates assumenda delectus cumque provident enim, quas facilis ab! Ipsa amet, vel nesciunt odit atque.</p>
  173. <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatum aliquid minima at, sint reprehenderit soluta voluptates assumenda delectus cumque provident enim, quas facilis ab! Ipsa amet, vel nesciunt odit atque.</p>
  174. <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatum aliquid minima at, sint reprehenderit soluta voluptates assumenda delectus cumque provident enim, quas facilis ab! Ipsa amet, vel nesciunt odit atque.</p>
  175. </article>
  176. <article class="post">
  177. <h2><a href="/post">Fixed positioning: friend or foe?</a></h2>
  178. <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatum aliquid minima at, sint reprehenderit soluta voluptates assumenda delectus cumque provident enim, quas facilis ab! Ipsa amet, vel nesciunt odit atque.</p>
  179. <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatum aliquid minima at, sint reprehenderit soluta voluptates assumenda delectus cumque provident enim, quas facilis ab! Ipsa amet, vel nesciunt odit atque.</p>
  180. <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatum aliquid minima at, sint reprehenderit soluta voluptates assumenda delectus cumque provident enim, quas facilis ab! Ipsa amet, vel nesciunt odit atque.</p>
  181. </article>
  182. <article class="post">
  183. <h2><a href="/post">Fixed positioning: friend or foe?</a></h2>
  184. <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatum aliquid minima at, sint reprehenderit soluta voluptates assumenda delectus cumque provident enim, quas facilis ab! Ipsa amet, vel nesciunt odit atque.</p>
  185. <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatum aliquid minima at, sint reprehenderit soluta voluptates assumenda delectus cumque provident enim, quas facilis ab! Ipsa amet, vel nesciunt odit atque.</p>
  186. <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatum aliquid minima at, sint reprehenderit soluta voluptates assumenda delectus cumque provident enim, quas facilis ab! Ipsa amet, vel nesciunt odit atque.</p>
  187. </article>
  188. </div>
  189. </main>
  190. <footer class="page-footer">
  191. <nav class="wrapper">
  192. <h2 class="page-footer-title"><a id="menu-list" tabindex="-1" aria-label="">Site menu</a></h2>
  193. <ul class="page-footer-links">
  194. <li><a href="/">Home</a></li>
  195. <li><a href="/products">Products</a></li>
  196. <li><a href="/blog">Blog</a></li>
  197. <li><a href="/about">About</a></li>
  198. <li><a href="/contact">Contact</a></li>
  199. </ul>
  200. <p><a href="#top">&uarr; Back up</a></p>
  201. </nav>
  202. </footer>
  203. <script src="js/scrollUpMenu.js"></script>
  204. <script>window.scrollUpMenu.init('.page-head', 'page-head-hide')</script>
  205. </body>
  206. </html>