Я пытаюсь сделать свой первый мобильный сайт первым, и у меня есть небольшая проблема с моим onclick, даже когда вы нажимаете меню. Когда вы нажмете на значок меню и выпадаете, экран немного падает, показывая только часть заголовка. Как сделать так, чтобы при нажатии кнопки меню экран не падал или немного прокручивался. вы можете увидеть в моем примере я поставил на то, что я имею в виду, какие-либо идеи, любая помощь очень ценится Heres моей демо ссылки:Мобильные события для навигации по CSS для мобильных устройств
Демы: http://cssdeck.com/labs/jkxsecgl
вот мой HTML разметка:
<body>
<div id="container">
<div id="header">
<h1>This is the header</h1>
<div class="main-nav" id="nav">
<a href="#nav" class="nav-open"> ☰ Menu</a>
<a href="#" class="nav-close"> ☰ Close</a>
<nav>
<ul>
<li><a href="#">home</a></li>
<li><a href="#">bio</a></li>
<li><a href="#">contact</a></li>
<li><a href="#">gallery</a></li>
</ul>
</nav>
</div>
</div>
<div id="content"><h1>This is the content</h1></div>
<aside><h1>The side bar</h1></aside>
<footer><h1>The Footer</h1></footer>
<div id="content"><h1>This is the content</h1></div>
<aside><h1>The side bar</h1></aside>
<footer><h1>The Footer</h1></footer>
</div>
</body>
CSS :
*{margin: 0px; padding: 0px;}
h1 {padding: 10px;}
#container {
position: relative;
width: 100%;
max-width: 320px;
background: rgba(51,0,255,.2);
margin: 0 auto;
}
#nav {
padding-left: 10px;
}
#nav nav ul, .nav-close, .nav-open {
list-style: none;
text-decoration: none;
}
.nav-close {
display: none;
}
#nav nav ul a {
text-decoration: none;
}
.nav-open, .nav-close {
background: yellow;
padding: 10px;
border: 1px solid;
}
#nav:target .nav-open {
display: none;
}
#nav:target .nav-close {
display: inline-block;
}
#nav nav {
position: relative;
text-align: left;
}
#nav nav ul {
position: absolute;
top: 0;
left: 0;
width: 100%;
max-height: 0;
max-width: 16em;
max-width: 16em;
background: #f6f6f6;
border-width: 0px;
border-style: dashed;
border-color: #aaa;
overflow: hidden;
-webkit-transition: max-height linear 0.5s;
-moz-transition: max-height linear 0.5s;
-ms-transition: max-height linear 0.5s;
-o-transition: max-height linear 0.5s;
transition: max-height linear 0.5s;
}
#nav nav ul li {
display: block;
background: orange;
border-bottom: 1px solid;
}
#nav nav ul li a {
padding: 0.3em 1.5em;
}
#nav:target nav ul {
max-height: 400px;
}
.nav-open {
display: inline-block;
}
#header {
width: 100%;
background: rgba(0,204,51,.7);
}
#content {
background: rgba(0,0,204,.6);
height: 300px;
}
aside {
background: rgba(153,0,0,0.9);
height: 300px;
}
footer {
width: 100%;
height: 150px;
background: rgba(102,255,255,1);
}
Проблема заключается в том, что действие тега привязки по умолчанию может быть отменено с помощью js, но это может пойти против того, что вы пытаетесь сделать здесь. AKA css только –
вот пример навигации, который я использую. он использует один и тот же тег по умолчанию, но его не двигает, когда его нажимают, http://jeffri.me/2012/11/pure-css3-responsive-navigation-with-target/, обратите внимание, как при нажатии кнопки мыши экран не работает, t падение. –