diff --git a/Yst/Render.hs b/Yst/Render.hs
--- a/Yst/Render.hs
+++ b/Yst/Render.hs
@@ -69,18 +69,16 @@
 
 renderNav :: String -> [NavNode] -> String
 renderNav targeturl nodes = unpack $ renderText $
-  ul_ [class_ "nav"] $ mapM_ (renderNavNode targeturl) nodes
+  ul_ [class_ "nav tree"] $ mapM_ (renderNavNode targeturl) nodes
 
 renderNavNode :: String -> NavNode -> Html ()
 renderNavNode targeturl (NavPage tit pageurl) =
   li_ [class_ "current" | pageurl == targeturl] (a_ [href_ pageurl'] (toHtml tit))
     where targetdir = takeUrlDir targeturl
           pageurl' = pack $ relUrl targetdir pageurl
-renderNavNode targeturl (NavMenu tit nodes) =
-  li_ [class_ "dropdown dropdown-submenu"] $
-    do a_ [href_ "#", class_ "dropdown-toggle", data_ "toggle" "dropdown"]
-             (toHtml tit)
-       ul_ [class_ "dropdown-menu"] (mapM_ (renderNavNode targeturl) nodes)
+renderNavNode targeturl (NavMenu tit nodes) = li_ [] $
+    do a_ [class_ "tree-toggle nav-header"] (toHtml tit)
+       ul_ [class_ "nav tree"] (mapM_ (renderNavNode targeturl) nodes)
     where active = targeturl `isInNavNodes` nodes
           isInNavNodes u = any (isInNavNode u)
           isInNavNode u (NavPage _ u') = u == u'
diff --git a/changelog b/changelog
--- a/changelog
+++ b/changelog
@@ -1,3 +1,8 @@
+yst 0.5.0.2 (released 14 Mar 2015)
+
+  * Improved menus, using unfolding tree instead of pop-ups.
+  * Transparent background on menu.
+
 yst 0.5.0.1 (released 13 Mar 2015)
 
   * Minor menu formatting tweaks.
diff --git a/demo/files/css/screen.css b/demo/files/css/screen.css
--- a/demo/files/css/screen.css
+++ b/demo/files/css/screen.css
@@ -14,46 +14,12 @@
 
 footer { padding: 1em; color: #888; text-align: center; font-size: 93%; }
 
-.navbar-default { background-color: white; border: none; }
+.navbar-default { background-color: transparent; border: none; }
 
-.dropdown-submenu {
-    position:relative;
-}
-.dropdown-submenu>.dropdown-menu {
-    top:0;
-    left:100%;
-    margin-top:-6px;
-    margin-left:-1px;
-    -webkit-border-radius:0 6px 6px 6px;
-    -moz-border-radius:0 6px 6px 6px;
-    border-radius:0 6px 6px 6px;
-}
-.dropdown-submenu:hover>.dropdown-menu {
-    display:block;
-}
-.dropdown-submenu>a:after {
-    display:block;
-    content:" ";
-    float:right;
-    width:0;
-    height:0;
-    border-color:transparent;
-    border-style:solid;
-    border-width:5px 0 5px 5px;
-    border-left-color:#cccccc;
-    margin-top:5px;
-    margin-right:-10px;
-}
-.dropdown-submenu:hover>a:after {
-    border-left-color:#ffffff;
-}
-.dropdown-submenu.pull-left {
-    float:none;
+/* Tree menus */
+.nav-header:after {
+content: "\00A0\25BE";
 }
-.dropdown-submenu.pull-left>.dropdown-menu {
-    left:-100%;
-    margin-left:10px;
-    -webkit-border-radius:6px 0 6px 6px;
-    -moz-border-radius:6px 0 6px 6px;
-    border-radius:6px 0 6px 6px;
+li > ul.tree {
+  padding-left: 10px;
 }
diff --git a/demo/files/js/nav.js b/demo/files/js/nav.js
new file mode 100644
--- /dev/null
+++ b/demo/files/js/nav.js
@@ -0,0 +1,8 @@
+$(document).ready(function(){
+  $('.tree-toggle').click(function () {
+    $(this).parent().children('ul.tree').toggle(200);
+  });
+  $('.tree-toggle').each(function () {
+    $(this).parent().children('ul.tree').toggle(0);
+  });
+});
diff --git a/demo/layout.html.st b/demo/layout.html.st
--- a/demo/layout.html.st
+++ b/demo/layout.html.st
@@ -18,6 +18,7 @@
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"
             type="text/javascript"></script>
     <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script>
+    <script src="js/nav.js" type="text/javascript"></script>
     <link rel="stylesheet" type="text/css" href="$root$css/screen.css" />
     <link rel="stylesheet" type="text/css" media="print" href="$root$css/print.css" />
   </head>
diff --git a/yst.cabal b/yst.cabal
--- a/yst.cabal
+++ b/yst.cabal
@@ -1,5 +1,5 @@
 name:                yst
-version:             0.5.0.1
+version:             0.5.0.2
 Tested-With:         GHC == 7.8.3
 Cabal-version:       >= 1.8
 build-type:          Simple
@@ -36,6 +36,7 @@
                      demo/layout.tex.st
                      demo/room101.txt
                      demo/room203.txt
+                     demo/files/js/nav.js
                      demo/files/css/hk-pyg.css
                      demo/files/css/print.css
                      demo/files/css/screen.css
