Stimmt, jetzt funktioniert es bei mir ebenso. Ob ich das allerdings in meine bestehende Seite integrieren kann bin ich aktuell eher unsicher. Der responsiveteil aus deinem Beispiel ist für mich gar nicht nötig, da auch bei höherer Auflösung das off Canvas Menü nutze. Das ganze wird später zu 80% auf Handys und noch 20% auf Tablets genutzt, es wird keine Homepage in dem Sinn. Dies nur mal als Zusatzinfo.
Ich werde jetzt einmal versuchen, das Beispiel welches du gepostet hast für mich zu adaptieren, wichtig ist dabei, dass der Klick auf den Button per CSS realisiert werden muss (per Javascript wäre es ja mit onclick wohl recht einfach), da diese Funktion ja auch bei deaktiviertem Javascript voll funktionieren soll.
Zeitgleich habe ich aber gestern schnell noch den bei mir existierenden Code vereinfacht, so dass nur noch das Menü übrig ist. Nachfolgend der Code:
HTML:
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Nav-Test</title>
<link href="style/style.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id="openNav">
<div id="navMain" class="navMain">
<ul>
<li><a href="#">Nav Item 1</a><hr /></li>
<li><a href="#">Nav Item 2</a><hr /></li>
<li><a href="#">Nav Item 3</a><hr /></li>
<li><a href="#">Nav Item 4</a><hr /></li>
<li><a href="#">Nav Item 5</a><hr /></li>
<li><a href="#">Nav Item 6<hr /></li>
</ul>
</div>
<div id="content">
<div id="navHead">
<a href="#openNav" id="openBtn"><img src="img/navBtn.png" class="bild"></a>
<a href="#closeNav" id="closeBtn"><img src="img/navBtn.png" class="bild"></a>
</div>
<div id="mainCont">
<p>Platzhaltertext für Inhalt</p>
</div>
</div>
</div>
</body>
</html>
Alles anzeigen
CSS:
@charset "utf-8";
* {
margin:0;
padding:0;
}
html, body {
height:100%;
overflow-x:hidden;
}
.navMain, #content {
-webkit-transition: all .3s ease-in-out;
-moz-transition: all .3s ease-in-out;
-ms-transition: all .3s ease-in-out;
-o-transition: all .3s ease-in-out;
transition: all .3s ease-in-out;
}
.navMain {
width:240px;
height:100%;
position:fixed;
left:-240px;
background:white;
}
.navMain img {
margin-right: 40px;
}
.navMain li {
margin-top: 25px;
margin-bottom: 20px;
height: 30px;
}
.navMain a:link {
color: #333;
text-decoration: none;
}
.navMain a:visited {
color: #333;
text-decoration: none;
}
.navMain a:hover {
color: #333;
text-decoration: none;
}
.navMain a:active {
text-decoration: none;
color: #333;
}
.navMain hr {
margin-top: 10px;
opacity: 0.5;
}
#content {
max-width: 720px;
}
#navHead {
background-image: url("../img/headerBG.png");
background-size: auto;
width: 100%;
max-width: 720px;
position:fixed;
}
#openBtn,
#closeBtn {
margin:0 0 0 0;
color:white;
padding:10px;
}
#openBtn {
display: inline-block;
}
#closeBtn {display:none;}
/* if nav open */
#openNav:target .navMain {left:0;}
#openNav:target #content {
margin-left:240px;
}
#openNav:target #openBtn {display:none;}
#openNav:target #closeBtn {
display: inline-block;
}
#mainCont {
margin: 0;
padding: 0;
padding-top: 13%;
margin-left: 5%;
}
.bild {
width: 32px;
height: 32px;
}
Alles anzeigen
als Bild hab ich ein einfaches png mit Menübutton hinterlegt, dieses häng ich hier einfach mal mit an. Aus dem Quellcode oben und deinem Beispiel brauch ich quasi jetzt einen Hybriden. Ist halt wie gesagt noch Neuland für ich, ich hab grad ein wenig Zeit im Büro, demzufolge versuch ich es jetzt erstmal selbst. Sollte ich es nicht hinbekommen, meld ich mich nochmal.