Skip to content

Instantly share code, notes, and snippets.

@farmok
Created October 13, 2014 02:21
Show Gist options
  • Save farmok/0f8f5deb362c0119ecf2 to your computer and use it in GitHub Desktop.
Save farmok/0f8f5deb362c0119ecf2 to your computer and use it in GitHub Desktop.
Generated by SassMeister.com.
<ul class='nav'>
<li class="nav-item"><a class='primary' href="#">CASINO</a></li>
<li class="nav-item"><a class='primary' href="#">HOTEL</a></li>
<li class="nav-item"><a class='primary' href="#">TOWER</a></li>
</ul>
<input type="checkbox" id="nav-trigger" class="nav-trigger" />
<label for="nav-trigger"></label>
<div class='site-wrap'>
<h1>Hamburger Menu</h1>
<p>This concept relies on the <code>:checked</code> pseudo-selector as well as the general sibling <code>~</code> selector, so it has decent browser support.</p>
<p><strong>Browsers supported:</strong> IE9+, Firefox 3.5+, Chrome any, Safari 3.2+, Opera 9.5+</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quasi vero nisi eos sed qui natus, ut eius reprehenderit error nesciunt veniam aliquam nulla itaque labore obcaecati molestiae eveniet, perferendis provident amet perspiciatis expedita accusantium! Eveniet, quos voluptas et, labore natus, saepe unde est nulla sit eaque tempore debitis accusantium. Recusandae.</p>
<p>Dolorem aliquam a libero reiciendis obcaecati doloribus ipsa eos laudantium, dicta in! Odit iure ut ratione, dolorum cupiditate perferendis voluptatum sapiente, dignissimos sunt necessitatibus, reprehenderit consequatur dolorem. Aliquam veniam quaerat, pariatur deserunt reiciendis vero vitae, repellat omnis sequi dolor nesciunt. Nihil similique alias impedit, obcaecati eligendi delectus voluptatum! Ipsum, vel.</p>
<p>Sint, perspiciatis nemo aut, rerum excepturi deleniti modi quos nihil corporis eum, maiores soluta labore, consectetur eligendi nesciunt. Placeat, incidunt! Illum placeat eligendi, veritatis consectetur eum! Dolor obcaecati minima ab placeat voluptatem neque modi doloribus, magnam qui voluptate eaque in. Nulla expedita hic porro architecto facere officiis vitae numquam, dolor!</p>
<p>Perferendis quis ea incidunt ducimus nisi voluptate natus. Repellat asperiores quod rerum rem quos blanditiis enim modi, veniam voluptas a facilis! Velit cum omnis, voluptatum eum inventore! Corrupti, suscipit, neque distinctio expedita est laboriosam cum aliquid minus tempora quaerat officia possimus unde vel deleniti eaque fugit accusamus iusto dolorum natus.</p>
<p>Credit goes to Austin Wulf. <a href="http://www.sitepoint.com/pure-css-off-screen-navigation-menu">See his great article</a>.</p>
</div>
// ----
// Sass (v3.4.4)
// Compass (v1.0.1)
// ----
body{
font-family: arial, san-serif;
margin: 0;
}
label[for="nav-trigger"] {
background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' x='0px' y='0px' width='30px' height='30px' viewBox='0 0 30 30' enable-background='new 0 0 30 30' xml:space='preserve'><rect width='30' height='6'/><rect y='24' width='30' height='6'/><rect y='12' width='30' height='6'/></svg>");
background-size: contain;
cursor: pointer;
height: 30px;
left: 15px;
position: fixed;
top: 15px;
width: 30px;
z-index: 2;
}
.nav {
background: #222;
display: inline-block;
height: 100%;
list-styel: none;
margin: 0;
position: fixed;
padding: 0;
top: 0;
right: 0;
bottom: 0;
left: 0;;
width: 100%;
z-index: 0;
:hover{
background-color: #840009;
}
li:nth-child(n+1){
border-bottom: 1px solid #333;}
&-item {
background: #555;
color: #fff;
display: block;
font-size: 16px;
height: 52px;
line-height: 54px;
padding: 0 5px;
position: relative;
transition: all .3s ease;
width: 50%;
.primary{
color:#fff;
text-decoration: none;
}
}
&-trigger{
position: absolute;
clip: rect(0, 0, 0, 0);
&:checked{
+ label {
left: 215px;
}
~ .site-wrap {
left: 200px;
box-shadow: 0 0 25px 5px rgba(0,0,0,0.25);
}
}
}
}
%test{
transition: left 0.2s;
}
.nav-trigger + label{
@extend %test;
}
.site-wrap{
@extend %test;
}
.site-wrap{
background-color: #fff;
bottom: 100%;
left: 0;
height: 100vh;
width: 50%;
min-height: 100%;
padding: 15px 15px 0 75px;
position: relative;
top: 0;
z-index: 1;
}
body {
font-family: arial, san-serif;
margin: 0;
}
label[for="nav-trigger"] {
background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' x='0px' y='0px' width='30px' height='30px' viewBox='0 0 30 30' enable-background='new 0 0 30 30' xml:space='preserve'><rect width='30' height='6'/><rect y='24' width='30' height='6'/><rect y='12' width='30' height='6'/></svg>");
background-size: contain;
cursor: pointer;
height: 30px;
left: 15px;
position: fixed;
top: 15px;
width: 30px;
z-index: 2;
}
.nav {
background: #222;
display: inline-block;
height: 100%;
list-styel: none;
margin: 0;
position: fixed;
padding: 0;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: 100%;
z-index: 0;
}
.nav :hover {
background-color: #840009;
}
.nav li:nth-child(n+1) {
border-bottom: 1px solid #333;
}
.nav-item {
background: #555;
color: #fff;
display: block;
font-size: 16px;
height: 52px;
line-height: 54px;
padding: 0 5px;
position: relative;
transition: all .3s ease;
width: 50%;
}
.nav-item .primary {
color: #fff;
text-decoration: none;
}
.nav-trigger {
position: absolute;
clip: rect(0, 0, 0, 0);
}
.nav-trigger:checked + label {
left: 215px;
}
.nav-trigger:checked ~ .site-wrap {
left: 200px;
box-shadow: 0 0 25px 5px rgba(0, 0, 0, 0.25);
}
.nav-trigger + label, .site-wrap {
transition: left 0.2s;
}
.site-wrap {
background-color: #fff;
bottom: 100%;
left: 0;
height: 100vh;
width: 50%;
min-height: 100%;
padding: 15px 15px 0 75px;
position: relative;
top: 0;
z-index: 1;
}
<ul class='nav'>
<li class="nav-item"><a class='primary' href="#">CASINO</a></li>
<li class="nav-item"><a class='primary' href="#">HOTEL</a></li>
<li class="nav-item"><a class='primary' href="#">TOWER</a></li>
</ul>
<input type="checkbox" id="nav-trigger" class="nav-trigger" />
<label for="nav-trigger"></label>
<div class='site-wrap'>
<h1>Hamburger Menu</h1>
<p>This concept relies on the <code>:checked</code> pseudo-selector as well as the general sibling <code>~</code> selector, so it has decent browser support.</p>
<p><strong>Browsers supported:</strong> IE9+, Firefox 3.5+, Chrome any, Safari 3.2+, Opera 9.5+</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quasi vero nisi eos sed qui natus, ut eius reprehenderit error nesciunt veniam aliquam nulla itaque labore obcaecati molestiae eveniet, perferendis provident amet perspiciatis expedita accusantium! Eveniet, quos voluptas et, labore natus, saepe unde est nulla sit eaque tempore debitis accusantium. Recusandae.</p>
<p>Dolorem aliquam a libero reiciendis obcaecati doloribus ipsa eos laudantium, dicta in! Odit iure ut ratione, dolorum cupiditate perferendis voluptatum sapiente, dignissimos sunt necessitatibus, reprehenderit consequatur dolorem. Aliquam veniam quaerat, pariatur deserunt reiciendis vero vitae, repellat omnis sequi dolor nesciunt. Nihil similique alias impedit, obcaecati eligendi delectus voluptatum! Ipsum, vel.</p>
<p>Sint, perspiciatis nemo aut, rerum excepturi deleniti modi quos nihil corporis eum, maiores soluta labore, consectetur eligendi nesciunt. Placeat, incidunt! Illum placeat eligendi, veritatis consectetur eum! Dolor obcaecati minima ab placeat voluptatem neque modi doloribus, magnam qui voluptate eaque in. Nulla expedita hic porro architecto facere officiis vitae numquam, dolor!</p>
<p>Perferendis quis ea incidunt ducimus nisi voluptate natus. Repellat asperiores quod rerum rem quos blanditiis enim modi, veniam voluptas a facilis! Velit cum omnis, voluptatum eum inventore! Corrupti, suscipit, neque distinctio expedita est laboriosam cum aliquid minus tempora quaerat officia possimus unde vel deleniti eaque fugit accusamus iusto dolorum natus.</p>
<p>Credit goes to Austin Wulf. <a href="http://www.sitepoint.com/pure-css-off-screen-navigation-menu">See his great article</a>.</p>
</div>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment