I love the idea of stripping away as much CSS as possible, while still maintaining the original UI concept. Let’s build out a demo example with a simple menu dropdown element.
Interesting facts about our final CSS menu:
- Total weight 121 bytes minified! (not including any resets etc.)
- No complex HTML structures
- Accessibility support
Now to see the final code in all it’s glory:
HTML
<nav>
<ul>
<li><a href="">Home</a></li>
<li><a href="">About</a></li>
<li><a href="">Services</a>
<ul>
<li><a href="">Design</a></li>
<li><a href="">Development</a></li>
<li><a href="">Custom Pizzas</a></li>
</ul>
</li>
<li><a href="">Contact</a></li>
</ul>
</nav>
CSS
/* resets - optional */
ul { list-style: none; padding: 0; }
ul li { display: inline-block; position: relative; }
/* minimal dropdown CSS */
ul li > ul {
left: -9999px;
position: absolute;
visibility: hidden;
}
ul li:hover > ul, ul li:focus-within > ul {
left: 0;
visibility: visible;
}
Live demo on CodePen
Feel free to check out the live demo on CodePen here.
Leave a comment
To make a comment, please send an e-mail using the button below. Your e-mail address won't be shared and will be deleted from my records after the comment is published. If you don't want your real name to be credited alongside your comment, please specify the name you would like to use. If you would like your name to link to a specific URL, please share that as well. Thank you.