├── README.md ├── css ├── component.css ├── demo.css ├── icons.css └── normalize.css ├── fonts ├── codropsicons │ ├── codropsicons.eot │ ├── codropsicons.svg │ ├── codropsicons.ttf │ ├── codropsicons.woff │ └── license.txt └── linecons │ ├── Read Me.txt │ ├── license.txt │ ├── linecons.dev.svg │ ├── linecons.eot │ ├── linecons.svg │ ├── linecons.ttf │ ├── linecons.woff │ └── lte-ie7.js ├── index.html ├── index2.html ├── index3.html └── js ├── classie.js ├── mlpushmenu.js └── modernizr.custom.js /README.md: -------------------------------------------------------------------------------- 1 | 2 | MultiLevelPushMenu 3 | ========= 4 | An experimental push menu with multi-level functionality that allows endless nesting of navigation elements. 5 | 6 | [article on Codrops](http://tympanus.net/codrops/?p=16252) 7 | 8 | [demo](http://tympanus.net/Development/MultiLevelPushMenu/) 9 | 10 | [LICENSING & TERMS OF USE](http://tympanus.net/codrops/licensing/) -------------------------------------------------------------------------------- /css/component.css: -------------------------------------------------------------------------------- 1 | *, 2 | *:after, 3 | *::before { 4 | -webkit-box-sizing: border-box; 5 | -moz-box-sizing: border-box; 6 | box-sizing: border-box; 7 | } 8 | 9 | html, body, .container, .scroller { 10 | height: 100%; 11 | } 12 | 13 | .scroller { 14 | overflow-y: scroll; 15 | } 16 | 17 | .scroller, 18 | .scroller-inner { 19 | position: relative; 20 | } 21 | 22 | .container { 23 | position: relative; 24 | overflow: hidden; 25 | background: #34495e; 26 | } 27 | 28 | .menu-trigger { 29 | position: relative; 30 | padding-left: 60px; 31 | font-size: 0.9em; 32 | } 33 | 34 | .menu-trigger:before { 35 | content: ''; 36 | position: absolute; 37 | top: 2px; 38 | left: 0; 39 | width: 40px; 40 | height: 6px; 41 | background: #fff; 42 | box-shadow: 0 6px #34495e, 0 12px #fff, 0 18px #34495e, 0 24px #fff; 43 | } 44 | 45 | .mp-pusher { 46 | position: relative; 47 | left: 0; 48 | height: 100%; 49 | perspective: 1000px; 50 | } 51 | 52 | .mp-menu { 53 | position: absolute; 54 | top: 0; 55 | left: 0; 56 | z-index: 1; 57 | width: 300px; 58 | height: 100%; 59 | -webkit-transform: translate3d(-100%, 0, 0); 60 | transform: translate3d(-100%, 0, 0); 61 | } 62 | 63 | .mp-level { 64 | position: absolute; 65 | top: 0; 66 | left: 0; 67 | width: 100%; 68 | height: 100%; 69 | background: #336ca6; 70 | -webkit-transform: translate3d(-100%, 0, 0); 71 | transform: translate3d(-100%, 0, 0); 72 | } 73 | 74 | /* overlays for pusher and for level that gets covered */ 75 | .mp-pusher::after, 76 | .mp-level::after, 77 | .mp-level::before { 78 | content: ''; 79 | position: absolute; 80 | top: 0; 81 | right: 0; 82 | width: 0; 83 | height: 0; 84 | opacity: 0; 85 | } 86 | 87 | .mp-pusher::after, 88 | .mp-level::after { 89 | background: rgba(0,0,0,0.3); 90 | -webkit-transition: opacity 0.3s, width 0.1s 0.3s, height 0.1s 0.3s; 91 | transition: opacity 0.3s, width 0.1s 0.3s, height 0.1s 0.3s; 92 | } 93 | 94 | .mp-level::after { 95 | z-index: -1; 96 | } 97 | 98 | .mp-pusher.mp-pushed::after, 99 | .mp-level.mp-level-overlay::after { 100 | width: 100%; 101 | height: 100%; 102 | opacity: 1; 103 | -webkit-transition: opacity 0.3s; 104 | transition: opacity 0.3s; 105 | } 106 | 107 | .mp-level.mp-level-overlay { 108 | cursor: pointer; 109 | } 110 | 111 | .mp-level.mp-level-overlay.mp-level::before { 112 | width: 100%; 113 | height: 100%; 114 | background: transparent; 115 | opacity: 1; 116 | } 117 | 118 | .mp-pusher, 119 | .mp-level { 120 | -webkit-transition: -webkit-transform 0.5s; 121 | transition: transform 0.5s; 122 | } 123 | 124 | /* overlap */ 125 | .mp-overlap .mp-level.mp-level-open { 126 | box-shadow: 1px 0 2px rgba(0,0,0,0.2); 127 | -webkit-transform: translate3d(-40px, 0, 0); 128 | transform: translate3d(-40px, 0, 0); 129 | } 130 | 131 | /* First level */ 132 | .mp-menu > .mp-level, 133 | .mp-menu > .mp-level.mp-level-open, 134 | .mp-menu.mp-overlap > .mp-level, 135 | .mp-menu.mp-overlap > .mp-level.mp-level-open { 136 | box-shadow: none; 137 | -webkit-transform: translate3d(0, 0, 0); 138 | transform: translate3d(0, 0, 0); 139 | } 140 | 141 | /* cover */ 142 | .mp-cover .mp-level.mp-level-open { 143 | -webkit-transform: translate3d(0, 0, 0); 144 | transform: translate3d(0, 0, 0); 145 | } 146 | 147 | .mp-cover .mp-level.mp-level-open > ul > li > .mp-level:not(.mp-level-open) { 148 | -webkit-transform: translate3d(-100%, 0, 0); 149 | transform: translate3d(-100%, 0, 0); 150 | } 151 | 152 | /* content style */ 153 | .mp-menu ul { 154 | margin: 0; 155 | padding: 0; 156 | list-style: none; 157 | } 158 | 159 | .mp-menu h2 { 160 | margin: 0; 161 | padding: 1em; 162 | color: rgba(0,0,0,0.4); 163 | text-shadow: 0 0 1px rgba(0,0,0,0.1); 164 | font-weight: 300; 165 | font-size: 2em; 166 | } 167 | 168 | .mp-menu.mp-overlap h2::before { 169 | position: absolute; 170 | top: 0; 171 | right: 0; 172 | margin-right: 8px; 173 | font-size: 75%; 174 | line-height: 1.8; 175 | opacity: 0; 176 | -webkit-transform: translateX(-100%); 177 | transform: translateX(-100%); 178 | -webkit-transition: opacity 0.3s, -webkit-transform 0.1s 0.3s; 179 | transition: opacity 0.3s, transform 0.1s 0.3s; 180 | } 181 | 182 | .mp-menu.mp-cover h2 { 183 | text-transform: uppercase; 184 | letter-spacing: 1px; 185 | font-weight: 700; 186 | font-size: 1em; 187 | } 188 | 189 | .mp-overlap .mp-level.mp-level-overlay > h2::before { 190 | opacity: 1; 191 | -webkit-transform: translateX(0); 192 | transform: translateX(0); 193 | -webkit-transition: -webkit-transform 0.3s, opacity 0.3s; 194 | transition: transform 0.3s, opacity 0.3s; 195 | } 196 | 197 | .mp-menu ul li > a { 198 | display: block; 199 | padding: 0.7em 1em 0.7em 1.8em; 200 | outline: none; 201 | box-shadow: inset 0 -1px rgba(0,0,0,0.2); 202 | text-shadow: 0 0 1px rgba(255,255,255,0.1); 203 | font-size: 1.4em; 204 | -webkit-transition: background 0.3s, box-shadow 0.3s; 205 | transition: background 0.3s, box-shadow 0.3s; 206 | } 207 | 208 | .mp-menu ul li::before { 209 | position: absolute; 210 | left: 10px; 211 | z-index: -1; 212 | color: rgba(0,0,0,0.2); 213 | line-height: 3.5; 214 | } 215 | 216 | .mp-level > ul > li:first-child > a { 217 | box-shadow: inset 0 -1px rgba(0,0,0,0.2), inset 0 1px rgba(0,0,0,0.2); 218 | } 219 | 220 | .mp-menu ul li a:hover, 221 | .mp-level > ul > li:first-child > a:hover { 222 | background: rgba(0,0,0,0.2); 223 | box-shadow: inset 0 -1px rgba(0,0,0,0); 224 | } 225 | 226 | .mp-menu .mp-level.mp-level-overlay > ul > li > a, 227 | .mp-level.mp-level-overlay > ul > li:first-child > a { 228 | box-shadow: inset 0 -1px rgba(0,0,0,0); 229 | } 230 | 231 | .mp-level > ul > li:first-child > a:hover, 232 | .mp-level.mp-level-overlay > ul > li:first-child > a { 233 | box-shadow: inset 0 -1px rgba(0,0,0,0), inset 0 1px rgba(0,0,0,0); 234 | } /* seems like Chrome 34.0.1847.131 needs the second shadow otherwise the transition breaks */ 235 | 236 | .mp-back { 237 | position: relative; 238 | display: block; 239 | padding: 1em; 240 | outline: none; 241 | background: rgba(0,0,0,0.1); 242 | box-shadow: inset 0 1px rgba(0,0,0,0.1); 243 | color: #fff; 244 | text-transform: uppercase; 245 | letter-spacing: 1px; 246 | font-weight: 700; 247 | font-size: 0.8em; 248 | -webkit-transition: background 0.3s; 249 | transition: background 0.3s; 250 | } 251 | 252 | .mp-back::after { 253 | content: "\e037"; 254 | position: absolute; 255 | right: 10px; 256 | color: rgba(0,0,0,0.3); 257 | font-size: 1.3em; 258 | font-family: 'linecons'; 259 | } 260 | 261 | .mp-menu .mp-level.mp-level-overlay > .mp-back, 262 | .mp-menu .mp-level.mp-level-overlay > .mp-back::after { 263 | background: transparent; 264 | box-shadow: none; 265 | color: transparent; 266 | } 267 | 268 | /* Fallback example for browsers that don't support 3D transforms (and no JS fallback) */ 269 | /* We'll show the first level only */ 270 | .no-csstransforms3d .mp-pusher, 271 | .no-js .mp-pusher { 272 | padding-left: 300px; 273 | } 274 | 275 | .no-csstransforms3d .mp-menu .mp-level, 276 | .no-js .mp-menu .mp-level { 277 | display: none; 278 | } 279 | 280 | .no-csstransforms3d .mp-menu > .mp-level, 281 | .no-js .mp-menu > .mp-level { 282 | display: block; 283 | } -------------------------------------------------------------------------------- /css/demo.css: -------------------------------------------------------------------------------- 1 | @import url(http://fonts.googleapis.com/css?family=Lato:300,400,700); 2 | @font-face { 3 | font-weight: normal; 4 | font-style: normal; 5 | font-family: 'codropsicons'; 6 | src:url('../fonts/codropsicons/codropsicons.eot'); 7 | src:url('../fonts/codropsicons/codropsicons.eot?#iefix') format('embedded-opentype'), 8 | url('../fonts/codropsicons/codropsicons.woff') format('woff'), 9 | url('../fonts/codropsicons/codropsicons.ttf') format('truetype'), 10 | url('../fonts/codropsicons/codropsicons.svg#codropsicons') format('svg'); 11 | } 12 | 13 | body { 14 | background: #34495e; 15 | color: #fff; 16 | font-weight: 300; 17 | font-family: 'Lato', Calibri, Arial, sans-serif; 18 | } 19 | 20 | a { 21 | text-decoration: none; 22 | color: #f7f7f7; 23 | outline: none; 24 | } 25 | 26 | a:hover, a:focus { 27 | color: #fff; 28 | outline: none; 29 | } 30 | 31 | /* Clearfix hack by Nicolas Gallagher: http://nicolasgallagher.com/micro-clearfix-hack/ */ 32 | .clearfix:before, 33 | .clearfix:after { 34 | display: table; 35 | content: " "; 36 | } 37 | 38 | .clearfix:after { 39 | clear: both; 40 | } 41 | 42 | .codrops-header, 43 | .codrops-top { 44 | font-family: 'Lato', Arial, sans-serif; 45 | } 46 | 47 | .codrops-header { 48 | margin: 0 auto; 49 | padding: 2em; 50 | background: rgba(0,0,0,0.01); 51 | text-align: center; 52 | } 53 | 54 | .codrops-header h1 { 55 | margin: 0; 56 | font-weight: 300; 57 | font-size: 2.625em; 58 | line-height: 1.3; 59 | } 60 | 61 | .codrops-header span { 62 | display: block; 63 | padding: 0 0 0.6em 0.1em; 64 | font-size: 60%; 65 | opacity: 0.7; 66 | } 67 | 68 | /* To Navigation Style */ 69 | .codrops-top { 70 | width: 100%; 71 | background: #91cfa1; 72 | background: rgba(255, 255, 255, 0.1); 73 | text-transform: uppercase; 74 | font-size: 0.69em; 75 | line-height: 2.2; 76 | } 77 | 78 | .codrops-top a { 79 | display: inline-block; 80 | padding: 0 1em; 81 | color: #fff; 82 | text-decoration: none; 83 | letter-spacing: 0.1em; 84 | } 85 | 86 | .codrops-top a:hover { 87 | background: rgba(255,255,255,0.95); 88 | color: #333; 89 | } 90 | 91 | .codrops-top span.right { 92 | float: right; 93 | } 94 | 95 | .codrops-top span.right a { 96 | display: block; 97 | float: left; 98 | } 99 | 100 | .codrops-icon:before { 101 | margin: 0 4px; 102 | text-transform: none; 103 | font-weight: normal; 104 | font-style: normal; 105 | font-variant: normal; 106 | font-family: 'codropsicons'; 107 | line-height: 1; 108 | speak: none; 109 | -webkit-font-smoothing: antialiased; 110 | } 111 | 112 | .codrops-icon-drop:before { 113 | content: "\e001"; 114 | } 115 | 116 | .codrops-icon-prev:before { 117 | content: "\e004"; 118 | } 119 | 120 | /* Demo Buttons Style */ 121 | .codrops-demos { 122 | padding-top: 1em; 123 | font-size: 1.1em; 124 | } 125 | 126 | .codrops-demos a { 127 | display: block; 128 | float: left; 129 | clear: both; 130 | margin: 0.5em 0.5em 0.5em 1.9em; 131 | padding: 1em 1.1em; 132 | width: 280px; 133 | outline: none; 134 | color: #fff; 135 | background: #336ca6; 136 | text-align: center; 137 | text-decoration: none; 138 | font-weight: 700; 139 | } 140 | 141 | .codrops-demos a:hover, 142 | .codrops-demos a.current-demo, 143 | .codrops-demos a.current-demo:hover { 144 | opacity: 0.6; 145 | } 146 | 147 | .content { 148 | padding: 4em 2em; 149 | max-width: 1200px; 150 | margin: 0 auto; 151 | } 152 | 153 | .block { 154 | float: left; 155 | padding: 1em 3em; 156 | } 157 | 158 | .block-40 { 159 | width: 40%; 160 | } 161 | 162 | .block-60 { 163 | width: 60%; 164 | } 165 | 166 | .block p { 167 | margin: 0; 168 | padding: 0 1em 0.6em; 169 | font-size: 1.8em; 170 | line-height: 1.5; 171 | } 172 | 173 | @media screen and (max-width: 69em) { 174 | .block { 175 | float: none; 176 | width: 100% !important; 177 | padding: 1em; 178 | } 179 | } 180 | 181 | @media screen and (max-width: 25em) { 182 | 183 | body { 184 | font-size: 80%; 185 | } 186 | 187 | .codrops-icon span { 188 | display: none; 189 | } 190 | 191 | } -------------------------------------------------------------------------------- /css/icons.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'linecons'; 3 | src:url('../fonts/linecons/linecons.eot'); 4 | src:url('../fonts/linecons/linecons.eot?#iefix') format('embedded-opentype'), 5 | url('../fonts/linecons/linecons.woff') format('woff'), 6 | url('../fonts/linecons/linecons.ttf') format('truetype'), 7 | url('../fonts/linecons/linecons.svg#linecons') format('svg'); 8 | font-weight: normal; 9 | font-style: normal; 10 | } 11 | 12 | .icon:before { 13 | font-family: 'linecons'; 14 | speak: none; 15 | font-style: normal; 16 | font-weight: normal; 17 | font-variant: normal; 18 | text-transform: none; 19 | line-height: 1; 20 | display: inline-block; 21 | margin-right: 0.6em; 22 | -webkit-font-smoothing: antialiased; 23 | } 24 | .icon-female:before { 25 | content: "\f182"; 26 | } 27 | .icon-male:before { 28 | content: "\f183"; 29 | } 30 | .icon-arrow-left:before { 31 | content: "\e032"; 32 | } 33 | .icon-arrow-left-2:before { 34 | content: "\e034"; 35 | } 36 | .icon-arrow-left-3:before { 37 | content: "\e036"; 38 | } 39 | .icon-arrow-left-4:before { 40 | content: "\e038"; 41 | } 42 | .icon-arrow-right:before { 43 | content: "\e035"; 44 | } 45 | .icon-arrow-right-2:before { 46 | content: "\e037"; 47 | } 48 | .icon-arrow-right-3:before { 49 | content: "\e039"; 50 | } 51 | .icon-arrow-right-4:before { 52 | content: "\e033"; 53 | } 54 | 55 | .icon-phone:before { 56 | content: "\e000"; 57 | } 58 | .icon-news:before { 59 | content: "\e001"; 60 | } 61 | .icon-photo:before { 62 | content: "\e002"; 63 | } 64 | .icon-shop:before { 65 | content: "\e003"; 66 | } 67 | .icon-wallet:before { 68 | content: "\e004"; 69 | } 70 | .icon-t-shirt:before { 71 | content: "\e005"; 72 | } 73 | .icon-heart:before { 74 | content: "\e006"; 75 | } 76 | .icon-cloud:before { 77 | content: "\e007"; 78 | } 79 | .icon-display:before { 80 | content: "\e008"; 81 | } 82 | .icon-diamond:before { 83 | content: "\e009"; 84 | } 85 | .icon-banknote:before { 86 | content: "\e00a"; 87 | } 88 | .icon-data:before { 89 | content: "\e00b"; 90 | } 91 | .icon-music:before { 92 | content: "\e00c"; 93 | } 94 | .icon-location:before { 95 | content: "\e00d"; 96 | } 97 | .icon-star:before { 98 | content: "\e00e"; 99 | } 100 | .icon-tv:before { 101 | content: "\e00f"; 102 | } 103 | .icon-eye:before { 104 | content: "\e010"; 105 | } 106 | .icon-megaphone:before { 107 | content: "\e011"; 108 | } 109 | .icon-study:before { 110 | content: "\e012"; 111 | } 112 | .icon-bubble:before { 113 | content: "\e013"; 114 | } 115 | .icon-sound:before { 116 | content: "\e014"; 117 | } 118 | .icon-video:before { 119 | content: "\e015"; 120 | } 121 | .icon-stack:before { 122 | content: "\e016"; 123 | } 124 | .icon-lab:before { 125 | content: "\e017"; 126 | } 127 | .icon-food:before { 128 | content: "\e018"; 129 | } 130 | .icon-cup:before { 131 | content: "\e019"; 132 | } 133 | .icon-trash:before { 134 | content: "\e01a"; 135 | } 136 | .icon-user:before { 137 | content: "\e01b"; 138 | } 139 | .icon-key:before { 140 | content: "\e01c"; 141 | } 142 | .icon-fire:before { 143 | content: "\e01d"; 144 | } 145 | .icon-clip:before { 146 | content: "\e01e"; 147 | } 148 | .icon-mail:before { 149 | content: "\e01f"; 150 | } 151 | .icon-search:before { 152 | content: "\e020"; 153 | } 154 | .icon-settings:before { 155 | content: "\e021"; 156 | } 157 | .icon-like:before { 158 | content: "\e022"; 159 | } 160 | .icon-calendar:before { 161 | content: "\e023"; 162 | } 163 | .icon-camera:before { 164 | content: "\e024"; 165 | } 166 | .icon-tag:before { 167 | content: "\e025"; 168 | } 169 | .icon-note:before { 170 | content: "\e026"; 171 | } 172 | .icon-clock:before { 173 | content: "\e027"; 174 | } 175 | .icon-lock:before { 176 | content: "\e028"; 177 | } 178 | .icon-vynil:before { 179 | content: "\e029"; 180 | } 181 | .icon-truck:before { 182 | content: "\e02a"; 183 | } 184 | .icon-paperplane:before { 185 | content: "\e02b"; 186 | } 187 | .icon-bulb:before { 188 | content: "\e02c"; 189 | } 190 | .icon-pen:before { 191 | content: "\e02d"; 192 | } 193 | .icon-params:before { 194 | content: "\e02e"; 195 | } 196 | .icon-world:before { 197 | content: "\e02f"; 198 | } 199 | -------------------------------------------------------------------------------- /css/normalize.css: -------------------------------------------------------------------------------- 1 | article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block;}audio,canvas,video{display:inline-block;}audio:not([controls]){display:none;height:0;}[hidden]{display:none;}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;}body{margin:0;}a:focus{outline:thin dotted;}a:active,a:hover{outline:0;}h1{font-size:2em;margin:0.67em 0;}abbr[title]{border-bottom:1px dotted;}b,strong{font-weight:bold;}dfn{font-style:italic;}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0;}mark{background:#ff0;color:#000;}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em;}pre{white-space:pre-wrap;}q{quotes:"\201C" "\201D" "\2018" "\2019";}small{font-size:80%;}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;}sup{top:-0.5em;}sub{bottom:-0.25em;}img{border:0;}svg:not(:root){overflow:hidden;}figure{margin:0;}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em;}legend{border:0;padding:0;}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0;}button,input{line-height:normal;}button,select{text-transform:none;}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer;}button[disabled],html input[disabled]{cursor:default;}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0;}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none;}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0;}textarea{overflow:auto;vertical-align:top;}table{border-collapse:collapse;border-spacing:0;} -------------------------------------------------------------------------------- /fonts/codropsicons/codropsicons.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codrops/MultiLevelPushMenu/cae3f19f814cb539b954860e829b08d8eaf0dc0f/fonts/codropsicons/codropsicons.eot -------------------------------------------------------------------------------- /fonts/codropsicons/codropsicons.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /fonts/codropsicons/codropsicons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codrops/MultiLevelPushMenu/cae3f19f814cb539b954860e829b08d8eaf0dc0f/fonts/codropsicons/codropsicons.ttf -------------------------------------------------------------------------------- /fonts/codropsicons/codropsicons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codrops/MultiLevelPushMenu/cae3f19f814cb539b954860e829b08d8eaf0dc0f/fonts/codropsicons/codropsicons.woff -------------------------------------------------------------------------------- /fonts/codropsicons/license.txt: -------------------------------------------------------------------------------- 1 | Icon Set: Font Awesome -- http://fortawesome.github.com/Font-Awesome/ 2 | License: SIL -- http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL 3 | 4 | 5 | Icon Set: Eco Ico -- http://dribbble.com/shots/665585-Eco-Ico 6 | License: CC0 -- http://creativecommons.org/publicdomain/zero/1.0/ -------------------------------------------------------------------------------- /fonts/linecons/Read Me.txt: -------------------------------------------------------------------------------- 1 | To modify your generated font, use the *dev.svg* file, located in the *fonts* folder in this package. You can import this dev.svg file to the IcoMoon app. All the tags (class names) and the Unicode points of your glyphs are saved in this file. 2 | 3 | See the documentation for more info on how to use this package: http://icomoon.io/#docs/font-face -------------------------------------------------------------------------------- /fonts/linecons/license.txt: -------------------------------------------------------------------------------- 1 | Icon Set: Entypo -- http://www.entypo.com/ 2 | License: CC BY-SA 3.0 -- http://creativecommons.org/licenses/by-sa/3.0/ 3 | 4 | 5 | Icon Set: Font Awesome -- http://fortawesome.github.com/Font-Awesome/ 6 | License: SIL -- http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL 7 | 8 | 9 | Icon Set: Linecons -- http://designmodo.com/linecons-free/ 10 | License: CC BY-SA 3.0 -- http://creativecommons.org/licenses/by-sa/3.0/ -------------------------------------------------------------------------------- /fonts/linecons/linecons.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codrops/MultiLevelPushMenu/cae3f19f814cb539b954860e829b08d8eaf0dc0f/fonts/linecons/linecons.eot -------------------------------------------------------------------------------- /fonts/linecons/linecons.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /fonts/linecons/linecons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codrops/MultiLevelPushMenu/cae3f19f814cb539b954860e829b08d8eaf0dc0f/fonts/linecons/linecons.ttf -------------------------------------------------------------------------------- /fonts/linecons/linecons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codrops/MultiLevelPushMenu/cae3f19f814cb539b954860e829b08d8eaf0dc0f/fonts/linecons/linecons.woff -------------------------------------------------------------------------------- /fonts/linecons/lte-ie7.js: -------------------------------------------------------------------------------- 1 | /* Load this script using conditional IE comments if you need to support IE 7 and IE 6. */ 2 | 3 | window.onload = function() { 4 | function addIcon(el, entity) { 5 | var html = el.innerHTML; 6 | el.innerHTML = '' + entity + '' + html; 7 | } 8 | var icons = { 9 | 'icon-phone' : '', 10 | 'icon-news' : '', 11 | 'icon-photo' : '', 12 | 'icon-shop' : '', 13 | 'icon-wallet' : '', 14 | 'icon-t-shirt' : '', 15 | 'icon-heart' : '', 16 | 'icon-cloud' : '', 17 | 'icon-display' : '', 18 | 'icon-diamond' : '', 19 | 'icon-banknote' : '', 20 | 'icon-data' : '', 21 | 'icon-music' : '', 22 | 'icon-location' : '', 23 | 'icon-star' : '', 24 | 'icon-tv' : '', 25 | 'icon-eye' : '', 26 | 'icon-megaphone' : '', 27 | 'icon-study' : '', 28 | 'icon-bubble' : '', 29 | 'icon-sound' : '', 30 | 'icon-video' : '', 31 | 'icon-stack' : '', 32 | 'icon-lab' : '', 33 | 'icon-food' : '', 34 | 'icon-cup' : '', 35 | 'icon-trash' : '', 36 | 'icon-user' : '', 37 | 'icon-key' : '', 38 | 'icon-fire' : '', 39 | 'icon-clip' : '', 40 | 'icon-mail' : '', 41 | 'icon-search' : '', 42 | 'icon-settings' : '', 43 | 'icon-like' : '', 44 | 'icon-calendar' : '', 45 | 'icon-camera' : '', 46 | 'icon-tag' : '', 47 | 'icon-note' : '', 48 | 'icon-clock' : '', 49 | 'icon-lock' : '', 50 | 'icon-vynil' : '', 51 | 'icon-truck' : '', 52 | 'icon-paperplane' : '', 53 | 'icon-bulb' : '', 54 | 'icon-pen' : '', 55 | 'icon-params' : '', 56 | 'icon-world' : '', 57 | 'icon-arrow-left' : '', 58 | 'icon-untitled' : '', 59 | 'icon-arrow-left-2' : '', 60 | 'icon-arrow-right' : '', 61 | 'icon-arrow-left-3' : '', 62 | 'icon-arrow-right-2' : '', 63 | 'icon-arrow-left-4' : '', 64 | 'icon-arrow-right-3' : '', 65 | 'icon-female' : '', 66 | 'icon-male' : '' 67 | }, 68 | els = document.getElementsByTagName('*'), 69 | i, attr, html, c, el; 70 | for (i = 0; ; i += 1) { 71 | el = els[i]; 72 | if(!el) { 73 | break; 74 | } 75 | attr = el.getAttribute('data-icon'); 76 | if (attr) { 77 | addIcon(el, attr); 78 | } 79 | c = el.className; 80 | c = c.match(/icon-[^\s'"]+/); 81 | if (c && icons[c[0]]) { 82 | addIcon(el, icons[c[0]]); 83 | } 84 | } 85 | }; -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 6 | 7 |Demo 1: Overlapping levels
165 |This menu will open by pushing the website content to the right. It has multi-level functionality, allowing endless nesting of navigation elements.
166 |The next level can optionally overlap or cover the previous one.
167 |Demo 2: Covering levels with back link
175 |This menu will open by pushing the website content to the right. It has multi-level functionality, allowing endless nesting of navigation elements.
176 |The next level can optionally overlap or cover the previous one.
177 |Demo 3: Overlapping levels with back links
175 |This menu will open by pushing the website content to the right. It has multi-level functionality, allowing endless nesting of navigation elements.
176 |The next level can optionally overlap or cover the previous one.
177 |