рдЕрдиреБрдХреВрд▓реА рдореЗрдиреВ рджреГрд╖реНрдЯрд┐рдХреЛрдг

рдЬрдм рд╣рдо рдЙрддреНрддрд░рджрд╛рдпреА рдбрд┐рдЬрд╛рдЗрди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рд╡рд┐рднрд┐рдиреНрди рддрдХрдиреАрдХреЛрдВ рдкрд░ рдЖрддреЗ рд╣реИрдВ рдХрд┐ рдХреИрд╕реЗ рдХрдо рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рд╕реНрдХреНрд░реАрди рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдореЗрдиреВ рдХреЛ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рд╕рдВрднрд╛рд▓рдирд╛ рд╣реИред рд╕рдВрднрд╛рд╡рдирд╛рдПрдВ рдЕрдирдВрдд рд▓рдЧрддреА рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдореИрдВ рдЖрдкрдХреЛ рдЙрдирдХреЗ рдлрд╛рдпрджреЗ рдФрд░ рдиреБрдХрд╕рд╛рди рдХреЗ рд╕рд╛рде рдЪрд╛рд░ рдореБрдЦреНрдп рджреГрд╖реНрдЯрд┐рдХреЛрдг рджрд┐рдЦрд╛рдКрдВрдЧрд╛ред рдЙрдирдореЗрдВ рд╕реЗ рддреАрди рдХреЛ рдХреЗрд╡рд▓ рд╕реАрдПрд╕рдПрд╕ рдФрд░ рдПрдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЫрд╡рд┐

рдкрд░рд┐рдЪрдп


рд▓реЗрдЦ рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХреЛрдб рдореЗрдВ, рдореИрдВ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЙрдкрд╕рд░реНрдЧреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВ рддрд╛рдХрд┐ рд╢реИрд▓реА рдХреЛрдб рдкрдврд╝рдиреЗ рдФрд░ рд╕рдордЭрдиреЗ рдореЗрдВ рд╕рд░рд▓ рд░рд╣реЗред рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдЙрджрд╛рд╣рд░рдг SCSS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рдЙрджрд╛рд╣рд░рдг рдХреЛрдбрдкреЗрди рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИ, рдЬрд╣рд╛рдВ рдЖрдк рд╕рдВрдХрд▓рд┐рдд рд╕реАрдПрд╕рдПрд╕ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред

рдЗрд╕ рд▓реЗрдЦ рдХреЗ рд╕рднреА рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕рд░рд▓ HTML рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ рдореИрдВ "рдореВрд▓ рдореЗрдиреВ" рдХрд╣рддрд╛ рд╣реВрдВред рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рдХрд╛рд░ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреВрдорд┐рдХрд╛ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: рдХреНрд╖реИрддрд┐рдЬ рдореЗрдиреВ (рдкреВрд░реНрдг-рдХреНрд╖реИрддрд┐рдЬ), рдбреНрд░реЙрдк-рдбрд╛рдЙрди рд╕реВрдЪреА (рдЪрдпрди), рдбреНрд░реЙрдк-рдбрд╛рдЙрди рдореЗрдиреВ (рдХрд╕реНрдЯрдо-рдбреНрд░реЙрдкрдбрд╛рдЙрди) рдФрд░ рдХреИрдирд╡рд╛рд╕ред

<nav role=""> <ul> <li><a href="#">Stream</a></li> <li><a href="#">Lab</a></li> <li><a href="#">Projects</a></li> <li><a href="#">About</a></li> <li><a href="#">Contact</a></li> </ul> </nav> 

рд╢реИрд▓рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдореИрдВ рд╕рднреА рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рдореАрдбрд┐рдпрд╛ рдХреНрд╡реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ:

 @media screen and (max-width: 44em) { } 


1. рдХреНрд╖реИрддрд┐рдЬ рдореЗрдиреВ


рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рддрддреНрд╡реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдкреВрд░реЗ рдкреГрд╖реНрда рдХреА рдЪреМрдбрд╝рд╛рдИ:

 <nav role="full-horizontal"> <ul> <li><a href="#">Stream</a></li> <li><a href="#">Lab</a></li> <li><a href="#">Projects</a></li> <li><a href="#">About</a></li> <li><a href="#">Contact</a></li> </ul> </nav> 


 @media screen and (max-width: 44em) { nav[role="full-horizontal"] { ul > li { width: 100%; } } } 


рдЕрддрд┐рд░рд┐рдХреНрдд рдбрд┐рдЬрд╝рд╛рдЗрди рдХреЗ рд╕рд╛рде, рдпрд╣ рдПрдХ рдЫреЛрдЯреЗ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рд╡рд╛рд▓реА рд╕реНрдХреНрд░реАрди рдкрд░ рджрд┐рдЦрддрд╛ рд╣реИ:
рдХреНрд╖реИрддрд┐рдЬ рдореЗрдиреВ

рд▓рд╛рдн


рдХрдорд┐рдпреЛрдВ


рдХреЛрдбрдкреЗрди рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдПрдХ рдХреНрд╖реИрддрд┐рдЬ рдореЗрдиреВ рдХрд╛ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

2. рдбреНрд░реЙрдк-рдбрд╛рдЙрди рд╕реВрдЪреА


рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдВ, рдЖрдзрд╛рд░ рдореЗрдиреВ рдЫрд┐рдкрд╛ рд╣реБрдЖ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдбреНрд░реЙрдк-рдбрд╛рдЙрди рд╕реВрдЪреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХреА рдЧрдИ рд╣реИ ред

рдЗрд╕ рдкреНрд░рднрд╛рд╡ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдореВрд▓ рдорд╛рд░реНрдХрдЕрдк рдореЗрдВ рдбреНрд░реЙрдк-рдбрд╛рдЙрди рд╕реВрдЪреА рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рдХрд┐ рд╡рд┐рдВрдбреЛ рдХрд╛ рдорд╛рди рдмрджрд▓ рджреЗрддрд╛ рд╣реИред рдЖрд╡рдВрдЯрди рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдСрдирдХреЙрд░реНрдк рдЗрд╡реЗрдВрдЯ рд╣реЛрддрд╛ рд╣реИред
 <nav role="select"> <!-- basic menu goes here --> <select onchange="if (this.value) window.location.href = this.value;"> <option value="#">Stream</option> <option value="#">Lab</option> <option value="#">Projects</option> <option value="#">About</option> <option value="#">Contact</option> </select> </nav> 

рдмрдбрд╝реА рд╕реНрдХреНрд░реАрди рдкрд░ рд╕реВрдЪреА рдЫрд┐рдкрд╛рдПрдБ:
 nav[role="select"] { > select { display:none; } } 

рдЫреЛрдЯреЗ рд╕реНрдХреНрд░реАрдиреЛрдВ рдкрд░, рдмреЗрд╕ рдореЗрдиреВ рдЫрд┐рдкрд╛рдПрдВ рдФрд░ рдбреНрд░реЙрдк-рдбрд╛рдЙрди рд╕реВрдЪреА рджрд┐рдЦрд╛рдПрдВред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдпрд╣ рдПрдХ рдореЗрдиреВ рд╣реИ - рд╣рдо "рдореЗрдиреВ" рдкрд╛рда рдХреЗ рд╕рд╛рде рдПрдХ рдЫрджреНрдо рддрддреНрд╡ рдЬреЛрдбрд╝ рджреЗрдВрдЧреЗред
 @media screen and (max-width: 44em) { nav[role="select"] { ul { display: none; } select { display: block; width: 100%; } &:after { position: absolute; content: "Menu"; right: 0; bottom: -1em; } } } 

рдЕрддрд┐рд░рд┐рдХреНрдд рдбрд┐рдЬрд╝рд╛рдЗрди рдХреЗ рд╕рд╛рде, рдпрд╣ рдПрдХ рдЫреЛрдЯреЗ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рд╡рд╛рд▓реА рд╕реНрдХреНрд░реАрди рдкрд░ рджрд┐рдЦрддрд╛ рд╣реИ:
рдбреНрд░реЙрдк рдбрд╛рдЙрди рд╕реВрдЪреА

рд▓рд╛рдн



рдХрдорд┐рдпреЛрдВ


рдЗрд╕ рдореЗрдиреВ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг ред

3. рдХрд╕реНрдЯрдо рдбреНрд░реЙрдк-рдбрд╛рдЙрди рдореЗрдиреВ


рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдВ, рдореВрд▓ рдореЗрдиреВ рдЫреЛрдЯреА рд╕реНрдХреНрд░реАрди рдкрд░ рдЫрд┐рдкрд╛ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЗрдирдкреБрдЯ рдФрд░ рд▓реЗрдмрд▓ рджрд┐рдЦрд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ ( рдЪреЗрдХрдмреЙрдХреНрд╕ рдХреЗ рд╕рд╛рде рд╣реИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ )ред рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд▓реЗрдмрд▓ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЙрд╕рдХреЗ рдиреАрдЪреЗ рдореБрдЦреНрдп рдореЗрдиреВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИред
 <nav role="custom-dropdown"> <!-- Advanced Checkbox Hack (see description below) --> <!-- basic menu goes here --> </nav> 

рдПрдХ рдЪреЗрдХрдмреЙрдХреНрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рд╣реИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдорд╕реНрдпрд╛рдПрдВ

рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХреЗ рд╕рд╛рде рджреЛ рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛рдПрдВ:
  1. рдпрд╣ рд╕рдлрд╛рд░реА (iOS <6.0) рдХреЗ рдореЛрдмрд╛рдЗрд▓ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ ред рдмрдЧ рдХреЗ рдХрд╛рд░рдг рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдирдкреБрдЯ рдХреЗ рд▓рд┐рдП iOS <6.0 рдХреЗ рддрд╣рдд рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдПрдХ рд▓реЗрдмрд▓ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред рд▓реЗрдмрд▓ рдкрд░ рдПрдХ рдЦрд╛рд▓реА рдСрдирдХреНрд▓рд┐рдХ рдИрд╡реЗрдВрдЯ рдЬреЛрдбрд╝рдХрд░ рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛
  2. рдпрд╣ 4.1.2 рд╕реЗ рдХрдо рдпрд╛ рдЙрд╕рдХреЗ рдмрд░рд╛рдмрд░ рдХреЗ рдПрдВрдбреНрд░реЙрдЗрдб рдУрдПрд╕ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдореБрдЦреНрдп рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдПрдХ рдмрд╛рд░, WebKit рдЗрдВрдЬрди рдореЗрдВ рдПрдХ рдмрдЧ рдерд╛ рдЬрд┐рд╕рдиреЗ + рдФрд░ ~ рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╕рдВрдпреЛрдЬрди рдХреЗ рд╕рд╛рде рдЫрджреНрдо рд╡рд░реНрдЧреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреА рдереА


 h1 ~ p { color: black; } h1:hover ~ p { color: red; } 

рдЗрд╕рдХрд╛ рдХреЛрдИ рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рдкрдбрд╝рд╛, рдХреНрдпреЛрдВрдХрд┐ рдЪреЗрдХрдмреЙрдХреНрд╕ рдХреЗ рд╕рд╛рде рд╣реИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ :checked ~ рдЪрдпрдирдХрд░реНрддрд╛ рдХреЗ рд╕рд╛рде рдЪреЗрдХ рдХрд┐рдП рдЧрдП рдЫрджреНрдо рд╡рд░реНрдЧред рдФрд░ рдЬрдмрдХрд┐ WebKit 535.1 (Chrome 13) рдореЗрдВ рдмрдЧ рдХреЛ рдареАрдХ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рд╡реЗрдм 4.1.2 WebKit 534.30 рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореЗрдВ, рд╣реИрдХ рдХрд┐рд╕реА рднреА Android OS рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рдерд╛ред

рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдХреЗрд╡рд▓ рдЯреИрдЧ рдХреЗ рд▓рд┐рдП WebKit рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдиреАрдореЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ .

:

<!-- Fix for iOS --> <input type="checkbox" id="menu"> <label for="menu" onclick></label>

/* Fix for Android */ body { -webkit-animation: bugfix infinite 1s; } @-webkit-keyframes bugfix { from { padding: 0; } to { padding: 0; } } /* default checkbox */ input[type=checkbox] { position: absolute; top: -9999px; left: -9999px; } label { cursor: pointer; user-select: none; }
label:

nav[role="custom-dropdown"] { label { display: none; } }
label. , , "тЙб" label ( "\2261", ). input, .

@media screen and (max-width: 44em) { nav[role="custom-dropdown"] { ul { display: none; height: 100%; } label { position: relative; display: block; width: 100%; } label:after { position: absolute; content: "\2261"; } input:checked ~ ul { display: block; > li { width: 100%; } } } }
:





JavaScript

(input / label) HTML
.

4. Canvas
, , input label 3. label, . 80% 20% ( , CSS)

<input type="checkbox" id="menu"> <label for="menu" onclick></label> <!-- basic menu goes here --> <div class="content"> <!-- content goes here --> </div>
label.
label { position: absolute; left: 0; display: none; }
label input. . , , "тЙб" label ( "\2261", ).

@media screen and (max-width: 44em) { $menu_width: 20em; body { overflow-x: hidden; } nav[role="off-canvas"] { position: absolute; left: -$menu_width; width: $menu_width; ul > li { width: 100%; } } label { display: block; } label:after { position: absolute; content: "\2261"; } input:checked ~ nav[role="off-canvas"] { left: 0; } input:checked ~ .content { margin-left: $menu_width + .5em; margin-right: -($menu_width + .5em); } }

:





JavaScript Facebook / Google+


(input / label) HTML body

.

IE?
: ! , IE8 , , .
  . 

:

<!-- Fix for iOS --> <input type="checkbox" id="menu"> <label for="menu" onclick></label>

/* Fix for Android */ body { -webkit-animation: bugfix infinite 1s; } @-webkit-keyframes bugfix { from { padding: 0; } to { padding: 0; } } /* default checkbox */ input[type=checkbox] { position: absolute; top: -9999px; left: -9999px; } label { cursor: pointer; user-select: none; }
label:

nav[role="custom-dropdown"] { label { display: none; } }
label. , , "тЙб" label ( "\2261", ). input, .

@media screen and (max-width: 44em) { nav[role="custom-dropdown"] { ul { display: none; height: 100%; } label { position: relative; display: block; width: 100%; } label:after { position: absolute; content: "\2261"; } input:checked ~ ul { display: block; > li { width: 100%; } } } }
:





JavaScript

(input / label) HTML
.

4. Canvas
, , input label 3. label, . 80% 20% ( , CSS)

<input type="checkbox" id="menu"> <label for="menu" onclick></label> <!-- basic menu goes here --> <div class="content"> <!-- content goes here --> </div>
label.
label { position: absolute; left: 0; display: none; }
label input. . , , "тЙб" label ( "\2261", ).

@media screen and (max-width: 44em) { $menu_width: 20em; body { overflow-x: hidden; } nav[role="off-canvas"] { position: absolute; left: -$menu_width; width: $menu_width; ul > li { width: 100%; } } label { display: block; } label:after { position: absolute; content: "\2261"; } input:checked ~ nav[role="off-canvas"] { left: 0; } input:checked ~ .content { margin-left: $menu_width + .5em; margin-right: -($menu_width + .5em); } }

:





JavaScript Facebook / Google+


(input / label) HTML body

.

IE?
: ! , IE8 , , .
.

:

<!-- Fix for iOS --> <input type="checkbox" id="menu"> <label for="menu" onclick></label>

/* Fix for Android */ body { -webkit-animation: bugfix infinite 1s; } @-webkit-keyframes bugfix { from { padding: 0; } to { padding: 0; } } /* default checkbox */ input[type=checkbox] { position: absolute; top: -9999px; left: -9999px; } label { cursor: pointer; user-select: none; }
label:

nav[role="custom-dropdown"] { label { display: none; } }
label. , , "тЙб" label ( "\2261", ). input, .

@media screen and (max-width: 44em) { nav[role="custom-dropdown"] { ul { display: none; height: 100%; } label { position: relative; display: block; width: 100%; } label:after { position: absolute; content: "\2261"; } input:checked ~ ul { display: block; > li { width: 100%; } } } }
:





JavaScript

(input / label) HTML
.

4. Canvas
, , input label 3. label, . 80% 20% ( , CSS)

<input type="checkbox" id="menu"> <label for="menu" onclick></label> <!-- basic menu goes here --> <div class="content"> <!-- content goes here --> </div>
label.
label { position: absolute; left: 0; display: none; }
label input. . , , "тЙб" label ( "\2261", ).

@media screen and (max-width: 44em) { $menu_width: 20em; body { overflow-x: hidden; } nav[role="off-canvas"] { position: absolute; left: -$menu_width; width: $menu_width; ul > li { width: 100%; } } label { display: block; } label:after { position: absolute; content: "\2261"; } input:checked ~ nav[role="off-canvas"] { left: 0; } input:checked ~ .content { margin-left: $menu_width + .5em; margin-right: -($menu_width + .5em); } }

:





JavaScript Facebook / Google+


(input / label) HTML body

.

IE?
: ! , IE8 , , .
  . 

:

<!-- Fix for iOS --> <input type="checkbox" id="menu"> <label for="menu" onclick></label>

/* Fix for Android */ body { -webkit-animation: bugfix infinite 1s; } @-webkit-keyframes bugfix { from { padding: 0; } to { padding: 0; } } /* default checkbox */ input[type=checkbox] { position: absolute; top: -9999px; left: -9999px; } label { cursor: pointer; user-select: none; }
label:

nav[role="custom-dropdown"] { label { display: none; } }
label. , , "тЙб" label ( "\2261", ). input, .

@media screen and (max-width: 44em) { nav[role="custom-dropdown"] { ul { display: none; height: 100%; } label { position: relative; display: block; width: 100%; } label:after { position: absolute; content: "\2261"; } input:checked ~ ul { display: block; > li { width: 100%; } } } }
:





JavaScript

(input / label) HTML
.

4. Canvas
, , input label 3. label, . 80% 20% ( , CSS)

<input type="checkbox" id="menu"> <label for="menu" onclick></label> <!-- basic menu goes here --> <div class="content"> <!-- content goes here --> </div>
label.
label { position: absolute; left: 0; display: none; }
label input. . , , "тЙб" label ( "\2261", ).

@media screen and (max-width: 44em) { $menu_width: 20em; body { overflow-x: hidden; } nav[role="off-canvas"] { position: absolute; left: -$menu_width; width: $menu_width; ul > li { width: 100%; } } label { display: block; } label:after { position: absolute; content: "\2261"; } input:checked ~ nav[role="off-canvas"] { left: 0; } input:checked ~ .content { margin-left: $menu_width + .5em; margin-right: -($menu_width + .5em); } }

:





JavaScript Facebook / Google+


(input / label) HTML body

.

IE?
: ! , IE8 , , .
.

:

<!-- Fix for iOS --> <input type="checkbox" id="menu"> <label for="menu" onclick></label>

/* Fix for Android */ body { -webkit-animation: bugfix infinite 1s; } @-webkit-keyframes bugfix { from { padding: 0; } to { padding: 0; } } /* default checkbox */ input[type=checkbox] { position: absolute; top: -9999px; left: -9999px; } label { cursor: pointer; user-select: none; }
label:

nav[role="custom-dropdown"] { label { display: none; } }
label. , , "тЙб" label ( "\2261", ). input, .

@media screen and (max-width: 44em) { nav[role="custom-dropdown"] { ul { display: none; height: 100%; } label { position: relative; display: block; width: 100%; } label:after { position: absolute; content: "\2261"; } input:checked ~ ul { display: block; > li { width: 100%; } } } }
:





JavaScript

(input / label) HTML
.

4. Canvas
, , input label 3. label, . 80% 20% ( , CSS)

<input type="checkbox" id="menu"> <label for="menu" onclick></label> <!-- basic menu goes here --> <div class="content"> <!-- content goes here --> </div>
label.
label { position: absolute; left: 0; display: none; }
label input. . , , "тЙб" label ( "\2261", ).

@media screen and (max-width: 44em) { $menu_width: 20em; body { overflow-x: hidden; } nav[role="off-canvas"] { position: absolute; left: -$menu_width; width: $menu_width; ul > li { width: 100%; } } label { display: block; } label:after { position: absolute; content: "\2261"; } input:checked ~ nav[role="off-canvas"] { left: 0; } input:checked ~ .content { margin-left: $menu_width + .5em; margin-right: -($menu_width + .5em); } }

:





JavaScript Facebook / Google+


(input / label) HTML body

.

IE?
: ! , IE8 , , .
  . 

:

<!-- Fix for iOS --> <input type="checkbox" id="menu"> <label for="menu" onclick></label>

/* Fix for Android */ body { -webkit-animation: bugfix infinite 1s; } @-webkit-keyframes bugfix { from { padding: 0; } to { padding: 0; } } /* default checkbox */ input[type=checkbox] { position: absolute; top: -9999px; left: -9999px; } label { cursor: pointer; user-select: none; }
label:

nav[role="custom-dropdown"] { label { display: none; } }
label. , , "тЙб" label ( "\2261", ). input, .

@media screen and (max-width: 44em) { nav[role="custom-dropdown"] { ul { display: none; height: 100%; } label { position: relative; display: block; width: 100%; } label:after { position: absolute; content: "\2261"; } input:checked ~ ul { display: block; > li { width: 100%; } } } }
:





JavaScript

(input / label) HTML
.

4. Canvas
, , input label 3. label, . 80% 20% ( , CSS)

<input type="checkbox" id="menu"> <label for="menu" onclick></label> <!-- basic menu goes here --> <div class="content"> <!-- content goes here --> </div>
label.
label { position: absolute; left: 0; display: none; }
label input. . , , "тЙб" label ( "\2261", ).

@media screen and (max-width: 44em) { $menu_width: 20em; body { overflow-x: hidden; } nav[role="off-canvas"] { position: absolute; left: -$menu_width; width: $menu_width; ul > li { width: 100%; } } label { display: block; } label:after { position: absolute; content: "\2261"; } input:checked ~ nav[role="off-canvas"] { left: 0; } input:checked ~ .content { margin-left: $menu_width + .5em; margin-right: -($menu_width + .5em); } }

:





JavaScript Facebook / Google+


(input / label) HTML body

.

IE?
: ! , IE8 , , .
.

:

<!-- Fix for iOS --> <input type="checkbox" id="menu"> <label for="menu" onclick></label>

/* Fix for Android */ body { -webkit-animation: bugfix infinite 1s; } @-webkit-keyframes bugfix { from { padding: 0; } to { padding: 0; } } /* default checkbox */ input[type=checkbox] { position: absolute; top: -9999px; left: -9999px; } label { cursor: pointer; user-select: none; }
label:

nav[role="custom-dropdown"] { label { display: none; } }
label. , , "тЙб" label ( "\2261", ). input, .

@media screen and (max-width: 44em) { nav[role="custom-dropdown"] { ul { display: none; height: 100%; } label { position: relative; display: block; width: 100%; } label:after { position: absolute; content: "\2261"; } input:checked ~ ul { display: block; > li { width: 100%; } } } }
:





JavaScript

(input / label) HTML
.

4. Canvas
, , input label 3. label, . 80% 20% ( , CSS)

<input type="checkbox" id="menu"> <label for="menu" onclick></label> <!-- basic menu goes here --> <div class="content"> <!-- content goes here --> </div>
label.
label { position: absolute; left: 0; display: none; }
label input. . , , "тЙб" label ( "\2261", ).

@media screen and (max-width: 44em) { $menu_width: 20em; body { overflow-x: hidden; } nav[role="off-canvas"] { position: absolute; left: -$menu_width; width: $menu_width; ul > li { width: 100%; } } label { display: block; } label:after { position: absolute; content: "\2261"; } input:checked ~ nav[role="off-canvas"] { left: 0; } input:checked ~ .content { margin-left: $menu_width + .5em; margin-right: -($menu_width + .5em); } }

:





JavaScript Facebook / Google+


(input / label) HTML body

.

IE?
: ! , IE8 , , .
  . 

:

<!-- Fix for iOS --> <input type="checkbox" id="menu"> <label for="menu" onclick></label>

/* Fix for Android */ body { -webkit-animation: bugfix infinite 1s; } @-webkit-keyframes bugfix { from { padding: 0; } to { padding: 0; } } /* default checkbox */ input[type=checkbox] { position: absolute; top: -9999px; left: -9999px; } label { cursor: pointer; user-select: none; }
label:

nav[role="custom-dropdown"] { label { display: none; } }
label. , , "тЙб" label ( "\2261", ). input, .

@media screen and (max-width: 44em) { nav[role="custom-dropdown"] { ul { display: none; height: 100%; } label { position: relative; display: block; width: 100%; } label:after { position: absolute; content: "\2261"; } input:checked ~ ul { display: block; > li { width: 100%; } } } }
:





JavaScript

(input / label) HTML
.

4. Canvas
, , input label 3. label, . 80% 20% ( , CSS)

<input type="checkbox" id="menu"> <label for="menu" onclick></label> <!-- basic menu goes here --> <div class="content"> <!-- content goes here --> </div>
label.
label { position: absolute; left: 0; display: none; }
label input. . , , "тЙб" label ( "\2261", ).

@media screen and (max-width: 44em) { $menu_width: 20em; body { overflow-x: hidden; } nav[role="off-canvas"] { position: absolute; left: -$menu_width; width: $menu_width; ul > li { width: 100%; } } label { display: block; } label:after { position: absolute; content: "\2261"; } input:checked ~ nav[role="off-canvas"] { left: 0; } input:checked ~ .content { margin-left: $menu_width + .5em; margin-right: -($menu_width + .5em); } }

:





JavaScript Facebook / Google+


(input / label) HTML body

.

IE?
: ! , IE8 , , .
.

:

<!-- Fix for iOS --> <input type="checkbox" id="menu"> <label for="menu" onclick></label>

/* Fix for Android */ body { -webkit-animation: bugfix infinite 1s; } @-webkit-keyframes bugfix { from { padding: 0; } to { padding: 0; } } /* default checkbox */ input[type=checkbox] { position: absolute; top: -9999px; left: -9999px; } label { cursor: pointer; user-select: none; }
label:

nav[role="custom-dropdown"] { label { display: none; } }
label. , , "тЙб" label ( "\2261", ). input, .

@media screen and (max-width: 44em) { nav[role="custom-dropdown"] { ul { display: none; height: 100%; } label { position: relative; display: block; width: 100%; } label:after { position: absolute; content: "\2261"; } input:checked ~ ul { display: block; > li { width: 100%; } } } }
:





JavaScript

(input / label) HTML
.

4. Canvas
, , input label 3. label, . 80% 20% ( , CSS)

<input type="checkbox" id="menu"> <label for="menu" onclick></label> <!-- basic menu goes here --> <div class="content"> <!-- content goes here --> </div>
label.
label { position: absolute; left: 0; display: none; }
label input. . , , "тЙб" label ( "\2261", ).

@media screen and (max-width: 44em) { $menu_width: 20em; body { overflow-x: hidden; } nav[role="off-canvas"] { position: absolute; left: -$menu_width; width: $menu_width; ul > li { width: 100%; } } label { display: block; } label:after { position: absolute; content: "\2261"; } input:checked ~ nav[role="off-canvas"] { left: 0; } input:checked ~ .content { margin-left: $menu_width + .5em; margin-right: -($menu_width + .5em); } }

:





JavaScript Facebook / Google+


(input / label) HTML body

.

IE?
: ! , IE8 , , .
.

:

<!-- Fix for iOS --> <input type="checkbox" id="menu"> <label for="menu" onclick></label>

/* Fix for Android */ body { -webkit-animation: bugfix infinite 1s; } @-webkit-keyframes bugfix { from { padding: 0; } to { padding: 0; } } /* default checkbox */ input[type=checkbox] { position: absolute; top: -9999px; left: -9999px; } label { cursor: pointer; user-select: none; }
label:

nav[role="custom-dropdown"] { label { display: none; } }
label. , , "тЙб" label ( "\2261", ). input, .

@media screen and (max-width: 44em) { nav[role="custom-dropdown"] { ul { display: none; height: 100%; } label { position: relative; display: block; width: 100%; } label:after { position: absolute; content: "\2261"; } input:checked ~ ul { display: block; > li { width: 100%; } } } }
:





JavaScript

(input / label) HTML
.

4. Canvas
, , input label 3. label, . 80% 20% ( , CSS)

<input type="checkbox" id="menu"> <label for="menu" onclick></label> <!-- basic menu goes here --> <div class="content"> <!-- content goes here --> </div>
label.
label { position: absolute; left: 0; display: none; }
label input. . , , "тЙб" label ( "\2261", ).

@media screen and (max-width: 44em) { $menu_width: 20em; body { overflow-x: hidden; } nav[role="off-canvas"] { position: absolute; left: -$menu_width; width: $menu_width; ul > li { width: 100%; } } label { display: block; } label:after { position: absolute; content: "\2261"; } input:checked ~ nav[role="off-canvas"] { left: 0; } input:checked ~ .content { margin-left: $menu_width + .5em; margin-right: -($menu_width + .5em); } }

:





JavaScript Facebook / Google+


(input / label) HTML body

.

IE?
: ! , IE8 , , .
.

:

<!-- Fix for iOS --> <input type="checkbox" id="menu"> <label for="menu" onclick></label>

/* Fix for Android */ body { -webkit-animation: bugfix infinite 1s; } @-webkit-keyframes bugfix { from { padding: 0; } to { padding: 0; } } /* default checkbox */ input[type=checkbox] { position: absolute; top: -9999px; left: -9999px; } label { cursor: pointer; user-select: none; }
label:

nav[role="custom-dropdown"] { label { display: none; } }
label. , , "тЙб" label ( "\2261", ). input, .

@media screen and (max-width: 44em) { nav[role="custom-dropdown"] { ul { display: none; height: 100%; } label { position: relative; display: block; width: 100%; } label:after { position: absolute; content: "\2261"; } input:checked ~ ul { display: block; > li { width: 100%; } } } }
:





JavaScript

(input / label) HTML
.

4. Canvas
, , input label 3. label, . 80% 20% ( , CSS)

<input type="checkbox" id="menu"> <label for="menu" onclick></label> <!-- basic menu goes here --> <div class="content"> <!-- content goes here --> </div>
label.
label { position: absolute; left: 0; display: none; }
label input. . , , "тЙб" label ( "\2261", ).

@media screen and (max-width: 44em) { $menu_width: 20em; body { overflow-x: hidden; } nav[role="off-canvas"] { position: absolute; left: -$menu_width; width: $menu_width; ul > li { width: 100%; } } label { display: block; } label:after { position: absolute; content: "\2261"; } input:checked ~ nav[role="off-canvas"] { left: 0; } input:checked ~ .content { margin-left: $menu_width + .5em; margin-right: -($menu_width + .5em); } }

:





JavaScript Facebook / Google+


(input / label) HTML body

.

IE?
: ! , IE8 , , .
.

:

<!-- Fix for iOS --> <input type="checkbox" id="menu"> <label for="menu" onclick></label>

/* Fix for Android */ body { -webkit-animation: bugfix infinite 1s; } @-webkit-keyframes bugfix { from { padding: 0; } to { padding: 0; } } /* default checkbox */ input[type=checkbox] { position: absolute; top: -9999px; left: -9999px; } label { cursor: pointer; user-select: none; }
label:

nav[role="custom-dropdown"] { label { display: none; } }
label. , , "тЙб" label ( "\2261", ). input, .

@media screen and (max-width: 44em) { nav[role="custom-dropdown"] { ul { display: none; height: 100%; } label { position: relative; display: block; width: 100%; } label:after { position: absolute; content: "\2261"; } input:checked ~ ul { display: block; > li { width: 100%; } } } }
:





JavaScript

(input / label) HTML
.

4. Canvas
, , input label 3. label, . 80% 20% ( , CSS)

<input type="checkbox" id="menu"> <label for="menu" onclick></label> <!-- basic menu goes here --> <div class="content"> <!-- content goes here --> </div>
label.
label { position: absolute; left: 0; display: none; }
label input. . , , "тЙб" label ( "\2261", ).

@media screen and (max-width: 44em) { $menu_width: 20em; body { overflow-x: hidden; } nav[role="off-canvas"] { position: absolute; left: -$menu_width; width: $menu_width; ul > li { width: 100%; } } label { display: block; } label:after { position: absolute; content: "\2261"; } input:checked ~ nav[role="off-canvas"] { left: 0; } input:checked ~ .content { margin-left: $menu_width + .5em; margin-right: -($menu_width + .5em); } }

:





JavaScript Facebook / Google+


(input / label) HTML body

.

IE?
: ! , IE8 , , .
.

:

<!-- Fix for iOS --> <input type="checkbox" id="menu"> <label for="menu" onclick></label>

/* Fix for Android */ body { -webkit-animation: bugfix infinite 1s; } @-webkit-keyframes bugfix { from { padding: 0; } to { padding: 0; } } /* default checkbox */ input[type=checkbox] { position: absolute; top: -9999px; left: -9999px; } label { cursor: pointer; user-select: none; }
label:

nav[role="custom-dropdown"] { label { display: none; } }
label. , , "тЙб" label ( "\2261", ). input, .

@media screen and (max-width: 44em) { nav[role="custom-dropdown"] { ul { display: none; height: 100%; } label { position: relative; display: block; width: 100%; } label:after { position: absolute; content: "\2261"; } input:checked ~ ul { display: block; > li { width: 100%; } } } }
:





JavaScript

(input / label) HTML
.

4. Canvas
, , input label 3. label, . 80% 20% ( , CSS)

<input type="checkbox" id="menu"> <label for="menu" onclick></label> <!-- basic menu goes here --> <div class="content"> <!-- content goes here --> </div>
label.
label { position: absolute; left: 0; display: none; }
label input. . , , "тЙб" label ( "\2261", ).

@media screen and (max-width: 44em) { $menu_width: 20em; body { overflow-x: hidden; } nav[role="off-canvas"] { position: absolute; left: -$menu_width; width: $menu_width; ul > li { width: 100%; } } label { display: block; } label:after { position: absolute; content: "\2261"; } input:checked ~ nav[role="off-canvas"] { left: 0; } input:checked ~ .content { margin-left: $menu_width + .5em; margin-right: -($menu_width + .5em); } }

:





JavaScript Facebook / Google+


(input / label) HTML body

.

IE?
: ! , IE8 , , .
.

:

<!-- Fix for iOS --> <input type="checkbox" id="menu"> <label for="menu" onclick></label>

/* Fix for Android */ body { -webkit-animation: bugfix infinite 1s; } @-webkit-keyframes bugfix { from { padding: 0; } to { padding: 0; } } /* default checkbox */ input[type=checkbox] { position: absolute; top: -9999px; left: -9999px; } label { cursor: pointer; user-select: none; }
label:

nav[role="custom-dropdown"] { label { display: none; } }
label. , , "тЙб" label ( "\2261", ). input, .

@media screen and (max-width: 44em) { nav[role="custom-dropdown"] { ul { display: none; height: 100%; } label { position: relative; display: block; width: 100%; } label:after { position: absolute; content: "\2261"; } input:checked ~ ul { display: block; > li { width: 100%; } } } }
:





JavaScript

(input / label) HTML
.

4. Canvas
, , input label 3. label, . 80% 20% ( , CSS)

<input type="checkbox" id="menu"> <label for="menu" onclick></label> <!-- basic menu goes here --> <div class="content"> <!-- content goes here --> </div>
label.
label { position: absolute; left: 0; display: none; }
label input. . , , "тЙб" label ( "\2261", ).

@media screen and (max-width: 44em) { $menu_width: 20em; body { overflow-x: hidden; } nav[role="off-canvas"] { position: absolute; left: -$menu_width; width: $menu_width; ul > li { width: 100%; } } label { display: block; } label:after { position: absolute; content: "\2261"; } input:checked ~ nav[role="off-canvas"] { left: 0; } input:checked ~ .content { margin-left: $menu_width + .5em; margin-right: -($menu_width + .5em); } }

:





JavaScript Facebook / Google+


(input / label) HTML body

.

IE?
: ! , IE8 , , .
.

:

<!-- Fix for iOS --> <input type="checkbox" id="menu"> <label for="menu" onclick></label>

/* Fix for Android */ body { -webkit-animation: bugfix infinite 1s; } @-webkit-keyframes bugfix { from { padding: 0; } to { padding: 0; } } /* default checkbox */ input[type=checkbox] { position: absolute; top: -9999px; left: -9999px; } label { cursor: pointer; user-select: none; }
label:

nav[role="custom-dropdown"] { label { display: none; } }
label. , , "тЙб" label ( "\2261", ). input, .

@media screen and (max-width: 44em) { nav[role="custom-dropdown"] { ul { display: none; height: 100%; } label { position: relative; display: block; width: 100%; } label:after { position: absolute; content: "\2261"; } input:checked ~ ul { display: block; > li { width: 100%; } } } }
:





JavaScript

(input / label) HTML
.

4. Canvas
, , input label 3. label, . 80% 20% ( , CSS)

<input type="checkbox" id="menu"> <label for="menu" onclick></label> <!-- basic menu goes here --> <div class="content"> <!-- content goes here --> </div>
label.
label { position: absolute; left: 0; display: none; }
label input. . , , "тЙб" label ( "\2261", ).

@media screen and (max-width: 44em) { $menu_width: 20em; body { overflow-x: hidden; } nav[role="off-canvas"] { position: absolute; left: -$menu_width; width: $menu_width; ul > li { width: 100%; } } label { display: block; } label:after { position: absolute; content: "\2261"; } input:checked ~ nav[role="off-canvas"] { left: 0; } input:checked ~ .content { margin-left: $menu_width + .5em; margin-right: -($menu_width + .5em); } }

:





JavaScript Facebook / Google+


(input / label) HTML body

.

IE?
: ! , IE8 , , .

.

:

<!-- Fix for iOS --> <input type="checkbox" id="menu"> <label for="menu" onclick></label>

/* Fix for Android */ body { -webkit-animation: bugfix infinite 1s; } @-webkit-keyframes bugfix { from { padding: 0; } to { padding: 0; } } /* default checkbox */ input[type=checkbox] { position: absolute; top: -9999px; left: -9999px; } label { cursor: pointer; user-select: none; }
label:

nav[role="custom-dropdown"] { label { display: none; } }
label. , , "тЙб" label ( "\2261", ). input, .

@media screen and (max-width: 44em) { nav[role="custom-dropdown"] { ul { display: none; height: 100%; } label { position: relative; display: block; width: 100%; } label:after { position: absolute; content: "\2261"; } input:checked ~ ul { display: block; > li { width: 100%; } } } }
:





JavaScript

(input / label) HTML
.

4. Canvas
, , input label 3. label, . 80% 20% ( , CSS)

<input type="checkbox" id="menu"> <label for="menu" onclick></label> <!-- basic menu goes here --> <div class="content"> <!-- content goes here --> </div>
label.
label { position: absolute; left: 0; display: none; }
label input. . , , "тЙб" label ( "\2261", ).

@media screen and (max-width: 44em) { $menu_width: 20em; body { overflow-x: hidden; } nav[role="off-canvas"] { position: absolute; left: -$menu_width; width: $menu_width; ul > li { width: 100%; } } label { display: block; } label:after { position: absolute; content: "\2261"; } input:checked ~ nav[role="off-canvas"] { left: 0; } input:checked ~ .content { margin-left: $menu_width + .5em; margin-right: -($menu_width + .5em); } }

:





JavaScript Facebook / Google+


(input / label) HTML body

.

IE?
: ! , IE8 , , .

.

:

<!-- Fix for iOS --> <input type="checkbox" id="menu"> <label for="menu" onclick></label>

/* Fix for Android */ body { -webkit-animation: bugfix infinite 1s; } @-webkit-keyframes bugfix { from { padding: 0; } to { padding: 0; } } /* default checkbox */ input[type=checkbox] { position: absolute; top: -9999px; left: -9999px; } label { cursor: pointer; user-select: none; }
label:

nav[role="custom-dropdown"] { label { display: none; } }
label. , , "тЙб" label ( "\2261", ). input, .

@media screen and (max-width: 44em) { nav[role="custom-dropdown"] { ul { display: none; height: 100%; } label { position: relative; display: block; width: 100%; } label:after { position: absolute; content: "\2261"; } input:checked ~ ul { display: block; > li { width: 100%; } } } }
:





JavaScript

(input / label) HTML
.

4. Canvas
, , input label 3. label, . 80% 20% ( , CSS)

<input type="checkbox" id="menu"> <label for="menu" onclick></label> <!-- basic menu goes here --> <div class="content"> <!-- content goes here --> </div>
label.
label { position: absolute; left: 0; display: none; }
label input. . , , "тЙб" label ( "\2261", ).

@media screen and (max-width: 44em) { $menu_width: 20em; body { overflow-x: hidden; } nav[role="off-canvas"] { position: absolute; left: -$menu_width; width: $menu_width; ul > li { width: 100%; } } label { display: block; } label:after { position: absolute; content: "\2261"; } input:checked ~ nav[role="off-canvas"] { left: 0; } input:checked ~ .content { margin-left: $menu_width + .5em; margin-right: -($menu_width + .5em); } }

:





JavaScript Facebook / Google+


(input / label) HTML body

.

IE?
: ! , IE8 , , .
  . 

:

<!-- Fix for iOS --> <input type="checkbox" id="menu"> <label for="menu" onclick></label>

/* Fix for Android */ body { -webkit-animation: bugfix infinite 1s; } @-webkit-keyframes bugfix { from { padding: 0; } to { padding: 0; } } /* default checkbox */ input[type=checkbox] { position: absolute; top: -9999px; left: -9999px; } label { cursor: pointer; user-select: none; }
label:

nav[role="custom-dropdown"] { label { display: none; } }
label. , , "тЙб" label ( "\2261", ). input, .

@media screen and (max-width: 44em) { nav[role="custom-dropdown"] { ul { display: none; height: 100%; } label { position: relative; display: block; width: 100%; } label:after { position: absolute; content: "\2261"; } input:checked ~ ul { display: block; > li { width: 100%; } } } }
:





JavaScript

(input / label) HTML
.

4. Canvas
, , input label 3. label, . 80% 20% ( , CSS)

<input type="checkbox" id="menu"> <label for="menu" onclick></label> <!-- basic menu goes here --> <div class="content"> <!-- content goes here --> </div>
label.
label { position: absolute; left: 0; display: none; }
label input. . , , "тЙб" label ( "\2261", ).

@media screen and (max-width: 44em) { $menu_width: 20em; body { overflow-x: hidden; } nav[role="off-canvas"] { position: absolute; left: -$menu_width; width: $menu_width; ul > li { width: 100%; } } label { display: block; } label:after { position: absolute; content: "\2261"; } input:checked ~ nav[role="off-canvas"] { left: 0; } input:checked ~ .content { margin-left: $menu_width + .5em; margin-right: -($menu_width + .5em); } }

:





JavaScript Facebook / Google+


(input / label) HTML body

.

IE?
: ! , IE8 , , .
.

:

<!-- Fix for iOS --> <input type="checkbox" id="menu"> <label for="menu" onclick></label>

/* Fix for Android */ body { -webkit-animation: bugfix infinite 1s; } @-webkit-keyframes bugfix { from { padding: 0; } to { padding: 0; } } /* default checkbox */ input[type=checkbox] { position: absolute; top: -9999px; left: -9999px; } label { cursor: pointer; user-select: none; }
label:

nav[role="custom-dropdown"] { label { display: none; } }
label. , , "тЙб" label ( "\2261", ). input, .

@media screen and (max-width: 44em) { nav[role="custom-dropdown"] { ul { display: none; height: 100%; } label { position: relative; display: block; width: 100%; } label:after { position: absolute; content: "\2261"; } input:checked ~ ul { display: block; > li { width: 100%; } } } }
:





JavaScript

(input / label) HTML
.

4. Canvas
, , input label 3. label, . 80% 20% ( , CSS)

<input type="checkbox" id="menu"> <label for="menu" onclick></label> <!-- basic menu goes here --> <div class="content"> <!-- content goes here --> </div>
label.
label { position: absolute; left: 0; display: none; }
label input. . , , "тЙб" label ( "\2261", ).

@media screen and (max-width: 44em) { $menu_width: 20em; body { overflow-x: hidden; } nav[role="off-canvas"] { position: absolute; left: -$menu_width; width: $menu_width; ul > li { width: 100%; } } label { display: block; } label:after { position: absolute; content: "\2261"; } input:checked ~ nav[role="off-canvas"] { left: 0; } input:checked ~ .content { margin-left: $menu_width + .5em; margin-right: -($menu_width + .5em); } }

:





JavaScript Facebook / Google+


(input / label) HTML body

.

IE?
: ! , IE8 , , .
  . 

:

<!-- Fix for iOS --> <input type="checkbox" id="menu"> <label for="menu" onclick></label>

/* Fix for Android */ body { -webkit-animation: bugfix infinite 1s; } @-webkit-keyframes bugfix { from { padding: 0; } to { padding: 0; } } /* default checkbox */ input[type=checkbox] { position: absolute; top: -9999px; left: -9999px; } label { cursor: pointer; user-select: none; }
label:

nav[role="custom-dropdown"] { label { display: none; } }
label. , , "тЙб" label ( "\2261", ). input, .

@media screen and (max-width: 44em) { nav[role="custom-dropdown"] { ul { display: none; height: 100%; } label { position: relative; display: block; width: 100%; } label:after { position: absolute; content: "\2261"; } input:checked ~ ul { display: block; > li { width: 100%; } } } }
:





JavaScript

(input / label) HTML
.

4. Canvas
, , input label 3. label, . 80% 20% ( , CSS)

<input type="checkbox" id="menu"> <label for="menu" onclick></label> <!-- basic menu goes here --> <div class="content"> <!-- content goes here --> </div>
label.
label { position: absolute; left: 0; display: none; }
label input. . , , "тЙб" label ( "\2261", ).

@media screen and (max-width: 44em) { $menu_width: 20em; body { overflow-x: hidden; } nav[role="off-canvas"] { position: absolute; left: -$menu_width; width: $menu_width; ul > li { width: 100%; } } label { display: block; } label:after { position: absolute; content: "\2261"; } input:checked ~ nav[role="off-canvas"] { left: 0; } input:checked ~ .content { margin-left: $menu_width + .5em; margin-right: -($menu_width + .5em); } }

:





JavaScript Facebook / Google+


(input / label) HTML body

.

IE?
: ! , IE8 , , .
.

:

<!-- Fix for iOS --> <input type="checkbox" id="menu"> <label for="menu" onclick></label>

/* Fix for Android */ body { -webkit-animation: bugfix infinite 1s; } @-webkit-keyframes bugfix { from { padding: 0; } to { padding: 0; } } /* default checkbox */ input[type=checkbox] { position: absolute; top: -9999px; left: -9999px; } label { cursor: pointer; user-select: none; }
label:

nav[role="custom-dropdown"] { label { display: none; } }
label. , , "тЙб" label ( "\2261", ). input, .

@media screen and (max-width: 44em) { nav[role="custom-dropdown"] { ul { display: none; height: 100%; } label { position: relative; display: block; width: 100%; } label:after { position: absolute; content: "\2261"; } input:checked ~ ul { display: block; > li { width: 100%; } } } }
:





JavaScript

(input / label) HTML
.

4. Canvas
, , input label 3. label, . 80% 20% ( , CSS)

<input type="checkbox" id="menu"> <label for="menu" onclick></label> <!-- basic menu goes here --> <div class="content"> <!-- content goes here --> </div>
label.
label { position: absolute; left: 0; display: none; }
label input. . , , "тЙб" label ( "\2261", ).

@media screen and (max-width: 44em) { $menu_width: 20em; body { overflow-x: hidden; } nav[role="off-canvas"] { position: absolute; left: -$menu_width; width: $menu_width; ul > li { width: 100%; } } label { display: block; } label:after { position: absolute; content: "\2261"; } input:checked ~ nav[role="off-canvas"] { left: 0; } input:checked ~ .content { margin-left: $menu_width + .5em; margin-right: -($menu_width + .5em); } }

:





JavaScript Facebook / Google+


(input / label) HTML body

.

IE?
: ! , IE8 , , .
  . 

:

<!-- Fix for iOS --> <input type="checkbox" id="menu"> <label for="menu" onclick></label>

/* Fix for Android */ body { -webkit-animation: bugfix infinite 1s; } @-webkit-keyframes bugfix { from { padding: 0; } to { padding: 0; } } /* default checkbox */ input[type=checkbox] { position: absolute; top: -9999px; left: -9999px; } label { cursor: pointer; user-select: none; }
label:

nav[role="custom-dropdown"] { label { display: none; } }
label. , , "тЙб" label ( "\2261", ). input, .

@media screen and (max-width: 44em) { nav[role="custom-dropdown"] { ul { display: none; height: 100%; } label { position: relative; display: block; width: 100%; } label:after { position: absolute; content: "\2261"; } input:checked ~ ul { display: block; > li { width: 100%; } } } }
:





JavaScript

(input / label) HTML
.

4. Canvas
, , input label 3. label, . 80% 20% ( , CSS)

<input type="checkbox" id="menu"> <label for="menu" onclick></label> <!-- basic menu goes here --> <div class="content"> <!-- content goes here --> </div>
label.
label { position: absolute; left: 0; display: none; }
label input. . , , "тЙб" label ( "\2261", ).

@media screen and (max-width: 44em) { $menu_width: 20em; body { overflow-x: hidden; } nav[role="off-canvas"] { position: absolute; left: -$menu_width; width: $menu_width; ul > li { width: 100%; } } label { display: block; } label:after { position: absolute; content: "\2261"; } input:checked ~ nav[role="off-canvas"] { left: 0; } input:checked ~ .content { margin-left: $menu_width + .5em; margin-right: -($menu_width + .5em); } }

:





JavaScript Facebook / Google+


(input / label) HTML body

.

IE?
: ! , IE8 , , .
.

:

<!-- Fix for iOS --> <input type="checkbox" id="menu"> <label for="menu" onclick></label>

/* Fix for Android */ body { -webkit-animation: bugfix infinite 1s; } @-webkit-keyframes bugfix { from { padding: 0; } to { padding: 0; } } /* default checkbox */ input[type=checkbox] { position: absolute; top: -9999px; left: -9999px; } label { cursor: pointer; user-select: none; }
label:

nav[role="custom-dropdown"] { label { display: none; } }
label. , , "тЙб" label ( "\2261", ). input, .

@media screen and (max-width: 44em) { nav[role="custom-dropdown"] { ul { display: none; height: 100%; } label { position: relative; display: block; width: 100%; } label:after { position: absolute; content: "\2261"; } input:checked ~ ul { display: block; > li { width: 100%; } } } }
:





JavaScript

(input / label) HTML
.

4. Canvas
, , input label 3. label, . 80% 20% ( , CSS)

<input type="checkbox" id="menu"> <label for="menu" onclick></label> <!-- basic menu goes here --> <div class="content"> <!-- content goes here --> </div>
label.
label { position: absolute; left: 0; display: none; }
label input. . , , "тЙб" label ( "\2261", ).

@media screen and (max-width: 44em) { $menu_width: 20em; body { overflow-x: hidden; } nav[role="off-canvas"] { position: absolute; left: -$menu_width; width: $menu_width; ul > li { width: 100%; } } label { display: block; } label:after { position: absolute; content: "\2261"; } input:checked ~ nav[role="off-canvas"] { left: 0; } input:checked ~ .content { margin-left: $menu_width + .5em; margin-right: -($menu_width + .5em); } }

:





JavaScript Facebook / Google+


(input / label) HTML body

.

IE?
: ! , IE8 , , .
.

:

<!-- Fix for iOS --> <input type="checkbox" id="menu"> <label for="menu" onclick></label>

/* Fix for Android */ body { -webkit-animation: bugfix infinite 1s; } @-webkit-keyframes bugfix { from { padding: 0; } to { padding: 0; } } /* default checkbox */ input[type=checkbox] { position: absolute; top: -9999px; left: -9999px; } label { cursor: pointer; user-select: none; }
label:

nav[role="custom-dropdown"] { label { display: none; } }
label. , , "тЙб" label ( "\2261", ). input, .

@media screen and (max-width: 44em) { nav[role="custom-dropdown"] { ul { display: none; height: 100%; } label { position: relative; display: block; width: 100%; } label:after { position: absolute; content: "\2261"; } input:checked ~ ul { display: block; > li { width: 100%; } } } }
:





JavaScript

(input / label) HTML
.

4. Canvas
, , input label 3. label, . 80% 20% ( , CSS)

<input type="checkbox" id="menu"> <label for="menu" onclick></label> <!-- basic menu goes here --> <div class="content"> <!-- content goes here --> </div>
label.
label { position: absolute; left: 0; display: none; }
label input. . , , "тЙб" label ( "\2261", ).

@media screen and (max-width: 44em) { $menu_width: 20em; body { overflow-x: hidden; } nav[role="off-canvas"] { position: absolute; left: -$menu_width; width: $menu_width; ul > li { width: 100%; } } label { display: block; } label:after { position: absolute; content: "\2261"; } input:checked ~ nav[role="off-canvas"] { left: 0; } input:checked ~ .content { margin-left: $menu_width + .5em; margin-right: -($menu_width + .5em); } }

:





JavaScript Facebook / Google+


(input / label) HTML body

.

IE?
: ! , IE8 , , .
.

:

<!-- Fix for iOS --> <input type="checkbox" id="menu"> <label for="menu" onclick></label>

/* Fix for Android */ body { -webkit-animation: bugfix infinite 1s; } @-webkit-keyframes bugfix { from { padding: 0; } to { padding: 0; } } /* default checkbox */ input[type=checkbox] { position: absolute; top: -9999px; left: -9999px; } label { cursor: pointer; user-select: none; }
label:

nav[role="custom-dropdown"] { label { display: none; } }
label. , , "тЙб" label ( "\2261", ). input, .

@media screen and (max-width: 44em) { nav[role="custom-dropdown"] { ul { display: none; height: 100%; } label { position: relative; display: block; width: 100%; } label:after { position: absolute; content: "\2261"; } input:checked ~ ul { display: block; > li { width: 100%; } } } }
:





JavaScript

(input / label) HTML
.

4. Canvas
, , input label 3. label, . 80% 20% ( , CSS)

<input type="checkbox" id="menu"> <label for="menu" onclick></label> <!-- basic menu goes here --> <div class="content"> <!-- content goes here --> </div>
label.
label { position: absolute; left: 0; display: none; }
label input. . , , "тЙб" label ( "\2261", ).

@media screen and (max-width: 44em) { $menu_width: 20em; body { overflow-x: hidden; } nav[role="off-canvas"] { position: absolute; left: -$menu_width; width: $menu_width; ul > li { width: 100%; } } label { display: block; } label:after { position: absolute; content: "\2261"; } input:checked ~ nav[role="off-canvas"] { left: 0; } input:checked ~ .content { margin-left: $menu_width + .5em; margin-right: -($menu_width + .5em); } }

:





JavaScript Facebook / Google+


(input / label) HTML body

.

IE?
: ! , IE8 , , .
.

:

<!-- Fix for iOS --> <input type="checkbox" id="menu"> <label for="menu" onclick></label>

/* Fix for Android */ body { -webkit-animation: bugfix infinite 1s; } @-webkit-keyframes bugfix { from { padding: 0; } to { padding: 0; } } /* default checkbox */ input[type=checkbox] { position: absolute; top: -9999px; left: -9999px; } label { cursor: pointer; user-select: none; }
label:

nav[role="custom-dropdown"] { label { display: none; } }
label. , , "тЙб" label ( "\2261", ). input, .

@media screen and (max-width: 44em) { nav[role="custom-dropdown"] { ul { display: none; height: 100%; } label { position: relative; display: block; width: 100%; } label:after { position: absolute; content: "\2261"; } input:checked ~ ul { display: block; > li { width: 100%; } } } }
:





JavaScript

(input / label) HTML
.

4. Canvas
, , input label 3. label, . 80% 20% ( , CSS)

<input type="checkbox" id="menu"> <label for="menu" onclick></label> <!-- basic menu goes here --> <div class="content"> <!-- content goes here --> </div>
label.
label { position: absolute; left: 0; display: none; }
label input. . , , "тЙб" label ( "\2261", ).

@media screen and (max-width: 44em) { $menu_width: 20em; body { overflow-x: hidden; } nav[role="off-canvas"] { position: absolute; left: -$menu_width; width: $menu_width; ul > li { width: 100%; } } label { display: block; } label:after { position: absolute; content: "\2261"; } input:checked ~ nav[role="off-canvas"] { left: 0; } input:checked ~ .content { margin-left: $menu_width + .5em; margin-right: -($menu_width + .5em); } }

:





JavaScript Facebook / Google+


(input / label) HTML body

.

IE?
: ! , IE8 , , .
.

:

<!-- Fix for iOS --> <input type="checkbox" id="menu"> <label for="menu" onclick></label>

/* Fix for Android */ body { -webkit-animation: bugfix infinite 1s; } @-webkit-keyframes bugfix { from { padding: 0; } to { padding: 0; } } /* default checkbox */ input[type=checkbox] { position: absolute; top: -9999px; left: -9999px; } label { cursor: pointer; user-select: none; }
label:

nav[role="custom-dropdown"] { label { display: none; } }
label. , , "тЙб" label ( "\2261", ). input, .

@media screen and (max-width: 44em) { nav[role="custom-dropdown"] { ul { display: none; height: 100%; } label { position: relative; display: block; width: 100%; } label:after { position: absolute; content: "\2261"; } input:checked ~ ul { display: block; > li { width: 100%; } } } }
:





JavaScript

(input / label) HTML
.

4. Canvas
, , input label 3. label, . 80% 20% ( , CSS)

<input type="checkbox" id="menu"> <label for="menu" onclick></label> <!-- basic menu goes here --> <div class="content"> <!-- content goes here --> </div>
label.
label { position: absolute; left: 0; display: none; }
label input. . , , "тЙб" label ( "\2261", ).

@media screen and (max-width: 44em) { $menu_width: 20em; body { overflow-x: hidden; } nav[role="off-canvas"] { position: absolute; left: -$menu_width; width: $menu_width; ul > li { width: 100%; } } label { display: block; } label:after { position: absolute; content: "\2261"; } input:checked ~ nav[role="off-canvas"] { left: 0; } input:checked ~ .content { margin-left: $menu_width + .5em; margin-right: -($menu_width + .5em); } }

:





JavaScript Facebook / Google+


(input / label) HTML body

.

IE?
: ! , IE8 , , .
.

:

<!-- Fix for iOS --> <input type="checkbox" id="menu"> <label for="menu" onclick></label>

/* Fix for Android */ body { -webkit-animation: bugfix infinite 1s; } @-webkit-keyframes bugfix { from { padding: 0; } to { padding: 0; } } /* default checkbox */ input[type=checkbox] { position: absolute; top: -9999px; left: -9999px; } label { cursor: pointer; user-select: none; }
label:

nav[role="custom-dropdown"] { label { display: none; } }
label. , , "тЙб" label ( "\2261", ). input, .

@media screen and (max-width: 44em) { nav[role="custom-dropdown"] { ul { display: none; height: 100%; } label { position: relative; display: block; width: 100%; } label:after { position: absolute; content: "\2261"; } input:checked ~ ul { display: block; > li { width: 100%; } } } }
:





JavaScript

(input / label) HTML
.

4. Canvas
, , input label 3. label, . 80% 20% ( , CSS)

<input type="checkbox" id="menu"> <label for="menu" onclick></label> <!-- basic menu goes here --> <div class="content"> <!-- content goes here --> </div>
label.
label { position: absolute; left: 0; display: none; }
label input. . , , "тЙб" label ( "\2261", ).

@media screen and (max-width: 44em) { $menu_width: 20em; body { overflow-x: hidden; } nav[role="off-canvas"] { position: absolute; left: -$menu_width; width: $menu_width; ul > li { width: 100%; } } label { display: block; } label:after { position: absolute; content: "\2261"; } input:checked ~ nav[role="off-canvas"] { left: 0; } input:checked ~ .content { margin-left: $menu_width + .5em; margin-right: -($menu_width + .5em); } }

:





JavaScript Facebook / Google+


(input / label) HTML body

.

IE?
: ! , IE8 , , .
.

:

<!-- Fix for iOS --> <input type="checkbox" id="menu"> <label for="menu" onclick></label>

/* Fix for Android */ body { -webkit-animation: bugfix infinite 1s; } @-webkit-keyframes bugfix { from { padding: 0; } to { padding: 0; } } /* default checkbox */ input[type=checkbox] { position: absolute; top: -9999px; left: -9999px; } label { cursor: pointer; user-select: none; }
label:

nav[role="custom-dropdown"] { label { display: none; } }
label. , , "тЙб" label ( "\2261", ). input, .

@media screen and (max-width: 44em) { nav[role="custom-dropdown"] { ul { display: none; height: 100%; } label { position: relative; display: block; width: 100%; } label:after { position: absolute; content: "\2261"; } input:checked ~ ul { display: block; > li { width: 100%; } } } }
:





JavaScript

(input / label) HTML
.

4. Canvas
, , input label 3. label, . 80% 20% ( , CSS)

<input type="checkbox" id="menu"> <label for="menu" onclick></label> <!-- basic menu goes here --> <div class="content"> <!-- content goes here --> </div>
label.
label { position: absolute; left: 0; display: none; }
label input. . , , "тЙб" label ( "\2261", ).

@media screen and (max-width: 44em) { $menu_width: 20em; body { overflow-x: hidden; } nav[role="off-canvas"] { position: absolute; left: -$menu_width; width: $menu_width; ul > li { width: 100%; } } label { display: block; } label:after { position: absolute; content: "\2261"; } input:checked ~ nav[role="off-canvas"] { left: 0; } input:checked ~ .content { margin-left: $menu_width + .5em; margin-right: -($menu_width + .5em); } }

:





JavaScript Facebook / Google+


(input / label) HTML body

.

IE?
: ! , IE8 , , .

.

:

<!-- Fix for iOS --> <input type="checkbox" id="menu"> <label for="menu" onclick></label>

/* Fix for Android */ body { -webkit-animation: bugfix infinite 1s; } @-webkit-keyframes bugfix { from { padding: 0; } to { padding: 0; } } /* default checkbox */ input[type=checkbox] { position: absolute; top: -9999px; left: -9999px; } label { cursor: pointer; user-select: none; }
label:

nav[role="custom-dropdown"] { label { display: none; } }
label. , , "тЙб" label ( "\2261", ). input, .

@media screen and (max-width: 44em) { nav[role="custom-dropdown"] { ul { display: none; height: 100%; } label { position: relative; display: block; width: 100%; } label:after { position: absolute; content: "\2261"; } input:checked ~ ul { display: block; > li { width: 100%; } } } }
:





JavaScript

(input / label) HTML
.

4. Canvas
, , input label 3. label, . 80% 20% ( , CSS)

<input type="checkbox" id="menu"> <label for="menu" onclick></label> <!-- basic menu goes here --> <div class="content"> <!-- content goes here --> </div>
label.
label { position: absolute; left: 0; display: none; }
label input. . , , "тЙб" label ( "\2261", ).

@media screen and (max-width: 44em) { $menu_width: 20em; body { overflow-x: hidden; } nav[role="off-canvas"] { position: absolute; left: -$menu_width; width: $menu_width; ul > li { width: 100%; } } label { display: block; } label:after { position: absolute; content: "\2261"; } input:checked ~ nav[role="off-canvas"] { left: 0; } input:checked ~ .content { margin-left: $menu_width + .5em; margin-right: -($menu_width + .5em); } }

:





JavaScript Facebook / Google+


(input / label) HTML body

.

IE?
: ! , IE8 , , .

.

:

<!-- Fix for iOS --> <input type="checkbox" id="menu"> <label for="menu" onclick></label>

/* Fix for Android */ body { -webkit-animation: bugfix infinite 1s; } @-webkit-keyframes bugfix { from { padding: 0; } to { padding: 0; } } /* default checkbox */ input[type=checkbox] { position: absolute; top: -9999px; left: -9999px; } label { cursor: pointer; user-select: none; }
label:

nav[role="custom-dropdown"] { label { display: none; } }
label. , , "тЙб" label ( "\2261", ). input, .

@media screen and (max-width: 44em) { nav[role="custom-dropdown"] { ul { display: none; height: 100%; } label { position: relative; display: block; width: 100%; } label:after { position: absolute; content: "\2261"; } input:checked ~ ul { display: block; > li { width: 100%; } } } }
:





JavaScript

(input / label) HTML
.

4. Canvas
, , input label 3. label, . 80% 20% ( , CSS)

<input type="checkbox" id="menu"> <label for="menu" onclick></label> <!-- basic menu goes here --> <div class="content"> <!-- content goes here --> </div>
label.
label { position: absolute; left: 0; display: none; }
label input. . , , "тЙб" label ( "\2261", ).

@media screen and (max-width: 44em) { $menu_width: 20em; body { overflow-x: hidden; } nav[role="off-canvas"] { position: absolute; left: -$menu_width; width: $menu_width; ul > li { width: 100%; } } label { display: block; } label:after { position: absolute; content: "\2261"; } input:checked ~ nav[role="off-canvas"] { left: 0; } input:checked ~ .content { margin-left: $menu_width + .5em; margin-right: -($menu_width + .5em); } }

:





JavaScript Facebook / Google+


(input / label) HTML body

.

IE?
: ! , IE8 , , .

Source: https://habr.com/ru/post/In159359/


All Articles