CSS-Trickserei für Menü-Effekt auf Smartphones
authorKai Moritz <kai@juplo.de>
Tue, 11 Feb 2014 19:40:47 +0000 (20:40 +0100)
committerKai Moritz <kai@juplo.de>
Tue, 19 Jan 2016 16:45:41 +0000 (17:45 +0100)
src/main/webapp/WEB-INF/templates/html5page.jsp
src/main/webapp/less/phone/layout.less
src/main/webapp/less/tiny/layout.less

index e15516e..5918e65 100644 (file)
@@ -11,8 +11,7 @@
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
     <t:insertAttribute name="htmlhead"/>
   </head>
-  <body class="<t:getAsString name="contentclass"/>" onload="prettyPrint()">
-    <a id="top"></a>
+  <body id="top" class="<t:getAsString name="contentclass"/>" onload="prettyPrint()">
     <div id="page" class="cf">
       <header id="header">
         <t:insertAttribute name="header"/>
@@ -24,7 +23,7 @@
         <ol class="b">
           <t:insertAttribute name="breadcrumb"/>
         </ol>
-        <a class="hide" href="#navigation" title="Show navigation menu">Jump to navigation</a>
+        <a class="hide" href="#nav" title="Show navigation menu">Jump to navigation</a>
         <hr class="b" />
       </div>
       <main class="content cf">
@@ -35,7 +34,6 @@
         <div class="marginal">
           <nav id="nav">
             <hr class="n"/>
-            <a id="navigation"></a>
             <a class="hide" href="#top" title="Show Content">Jump back to the top of the page</a>
             <t:insertAttribute name="navigation"/>
             <hr class="n"/>
index 6d6521a..bedb016 100644 (file)
@@ -122,6 +122,7 @@ body
   font-family: 'symbols';
   font-size: 378%; /** Vielfaches von 14px */
   padding: 0 0 1em 0;
+  font-weight: normal;
 }
 #breadcrumb > a.hide:hover,
 #breadcrumb > a.hide:focus,
@@ -133,33 +134,49 @@ body
 
 /** Inhalts-Sprunglink reaktivieren und stylen */
 
-#nav > a.hide
+#nav:target
 {
-  position: relative;
-  float: right;
-  left: auto;
-  top: .5em;
-  display: block;
-  overflow: hidden;
-  width: 2.142857143em; /** 30px */
-  height: 2.5em;
-  line-height: 2.5em;
-  color: @dunkel;
-  border-style: none;
-}
-#nav > a.hide:before
-{
-  content: "";
-  font-family: 'symbols';
-  font-size: 210%; /** Vielfaches von 14px */
-  padding: 0 0 1em 0;
-  margin: 0 1em 0 0;
-}
-#nav > a.hide:hover,
-#nav > a.hide:focus,
-#nav > a.hide:active
-{
-  color: @dunkler;
+  position: absolute;
+  top: 0;
+  right: 0;
+  left: 0;
+  padding: .6em 1em 999em 2.5em;
+  margin-bottom: -993em;
+  z-index: 5;
+  background-color: @heller;
+  #menu
+  {
+    padding-top: 0;
+    padding-bottom: .75em;
+  }
+  > a.hide
+  {
+    position: absolute;
+    left: auto;
+    top: .8em;
+    right: 1.5em;
+    display: block;
+    overflow: hidden;
+    width: 3.5em;
+    height: 3em;
+    line-height: 3em;
+    color: @hintergrund;
+    border-style: none;
+  }
+  > a.hide:before
+  {
+    content: "";
+    font-family: 'symbols';
+    font-size: 378%; /** Vielfaches von 14px */
+    padding: 0 0 1em 0;
+    margin: 0 1em 0 0;
+  }
+  > a.hide:hover,
+  > a.hide:focus,
+  > a.hide:active
+  {
+    color: @dunkler;
+  }
 }
 
 
index 0acb606..f5abf0f 100644 (file)
@@ -24,12 +24,22 @@ body
     margin: 0;
     padding: 0 .5em;
   }
-  #breadcrumb
+  #nav:target
+  {
+    padding-top: 0;
+  }
+  #nav:target > #menu
+  {
+    padding-left: 0;
+  }
+  #breadcrumb,
+  #nav:target > a.hide
   {
     top: .1em;
     right: .3em;
   }
-  #breadcrumb > a.hide:before
+  #breadcrumb > a.hide:before,
+  #nav:target > a.hide:before
   {
     font-size: 300%; /** Vielfaches von 12px */
   }
@@ -48,11 +58,13 @@ body
   {
     display: none;
   }
-  #breadcrumb
+  #breadcrumb,
+  #nav:target > a.hide
   {
     top: .2em;
   }
-  #breadcrumb > a.hide:before
+  #breadcrumb > a.hide:before,
+  #nav:target > a.hide:before
   {
     font-size: 264%; /** Vielfaches von 12px */
   }