aboutsummaryrefslogtreecommitdiff
path: root/posts/minimal-css-menu.md
diff options
context:
space:
mode:
authorBradley Taunt <bt@btxx.org>2024-06-06 08:05:12 -0400
committerBradley Taunt <bt@btxx.org>2024-06-06 08:05:12 -0400
commit6b742c459266b18e2b375b35205ce8a6c02f0452 (patch)
treeb16fbb9a045e33dd6c97eb5ab72e6ff4d9237ea3 /posts/minimal-css-menu.md
Initial commit
Diffstat (limited to 'posts/minimal-css-menu.md')
-rw-r--r--posts/minimal-css-menu.md55
1 files changed, 55 insertions, 0 deletions
diff --git a/posts/minimal-css-menu.md b/posts/minimal-css-menu.md
new file mode 100644
index 0000000..a343e81
--- /dev/null
+++ b/posts/minimal-css-menu.md
@@ -0,0 +1,55 @@
+# Minimal CSS: Dropdown Menu
+
+2019-04-26
+
+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](https://codepen.io/bradleytaunt/pen/MRLevy).