2016-07-30 10 views
0

私は、次の画像のように下から上に開く縦のナビゲーションドロワーを作成しようとしています。css、bootstrap、htmlを使用した縦型ナビゲーションドロワー

enter image description here

私は、ブートストラップすることは非常に新しいです。次のコードを試しましたが、左から右に開きます。

次のコードを実行してください。

<!DOCTYPE html> 
<html> 
<head> 
<style> 
body {margin:0;} 
ul.topnav { 
    list-style-type: none; 
    margin: 0; 
    padding: 0; 
    overflow: hidden; 
    background-color: #333; 
} 

ul.topnav li {float: left;} 

ul.topnav li a { 
    display: inline-block; 
    color: #f2f2f2; 
    text-align: center; 
    padding: 14px 16px; 
    text-decoration: none; 
    transition: 0.3s; 
    font-size: 17px; 
} 

ul.topnav li a:hover {background-color: #555;} 

ul.topnav li.icon {display: none;} 

@media screen and (max-width:680px) { 
    ul.topnav li:not(:first-child) {display: none;} 
    ul.topnav li.icon { 
    float: right; 
    display: inline-block; 
    } 
} 

@media screen and (max-width:680px) { 
    ul.topnav.responsive {position: relative;} 
    ul.topnav.responsive li.icon { 
    position: absolute; 
    right: 0; 
    bottom: 0; 
    } 
    ul.topnav.responsive li { 
    float: none; 
    display: inline; 
    } 
    ul.topnav.responsive li a { 
    display: block; 
    text-align: left; 
    } 
} 
</style> 
</head> 
<body> 

<ul class="topnav" id="myTopnav"> 
    <li><a class="active" href="#home">Home</a></li> 
    <li><a href="#news">News</a></li> 
    <li><a href="#contact">Contact</a></li> 
    <li><a href="#about">About</a></li> 
    <li class="icon"> 
    <a href="javascript:void(0);" style="font-size:15px;" onclick="myFunction()">☰</a> 
    </li> 
</ul> 

<div style="padding-left:16px"> 
    <h2>Responsive Topnav Example</h2> 
    <p>Resize the browser window to see how it works.</p> 
</div> 

<script> 
function myFunction() { 
    var x = document.getElementById("myTopnav"); 
    if (x.className === "topnav") { 
     x.className += " responsive"; 
    } else { 
     x.className = "topnav"; 
    } 
} 
</script> 

</body> 
</html> 

また、私はthisリンクを試しましたが運がありません。

参考までに参考にしてください。

答えて

0

これは動作するはず:

<!DOCTYPE html> 
<html> 
<head> 
<style> 
body {margin:0;} 
ul.topnav { 
    list-style-type: none; 
    margin: 0; 
    padding: 0; 
    overflow: hidden; 
    position: absolute; 
    bottom: 0px; 
    width: 100%; 
    background-color: #333; 
} 

ul.topnav li {float: left;} 

ul.topnav li a { 
    display: inline-block; 
    color: #f2f2f2; 
    text-align: center; 
    padding: 14px 16px; 
    text-decoration: none; 
    transition: 0.3s; 
    font-size: 17px; 
} 

ul.topnav li a:hover {background-color: #555;} 

ul.topnav li.icon {display: none;} 

@media screen and (max-width:680px) { 
    ul.topnav li:not(:first-child) {display: none;} 
    ul.topnav li.icon { 
    float: right; 
    display: inline-block; 
    } 
} 

@media screen and (max-width:680px) { 
    ul.topnav.responsive {position: absolute; bottom: 0px;} 
    ul.topnav.responsive li.icon { 
    position: absolute; 
    right: 0; 
    bottom: 0; 
    } 
    ul.topnav.responsive li { 
    float: none; 
    display: inline; 
    } 
    ul.topnav.responsive li a { 
    display: block; 
    text-align: left; 
    } 
} 
</style> 
</head> 
<body> 

<ul class="topnav" id="myTopnav"> 
    <li><a class="active" href="#home">Home</a></li> 
    <li><a href="#news">News</a></li> 
    <li><a href="#contact">Contact</a></li> 
    <li><a href="#about">About</a></li> 
    <li class="icon"> 
    <a href="javascript:void(0);" style="font-size:15px;" onclick="myFunction()">☰</a> 
    </li> 
</ul> 

<div style="padding-left:16px"> 
    <h2>Responsive Topnav Example</h2> 
    <p>Resize the browser window to see how it works.</p> 
</div> 

<script> 
function myFunction() { 
    var x = document.getElementById("myTopnav"); 
    if (x.className === "topnav") { 
     x.className += " responsive"; 
    } else { 
     x.className = "topnav"; 
    } 
} 
</script> 

</body> 
</html> 

Iは、(また、固定することができる絶対すべきul.topnav.responsive位置、及びul.topnavの位置を変更し、それにwidth: 100%を与え、私は両方の位置を設定しますbottom: 0pxすべき要素。

これは、AISは悪い習慣ですaに直接スタイリングが、それは、外部スタイルシートを使用する必要がありますのでかかわらず、リファクタリング、およびJavaScriptファイル、およびすることができます。これは、href="javascript:void(0);"を持つことも悪い習慣ですなぜならボタンを使用しないJavaScript関数をトリガーするだけなので、またはaタグを使用する場合はhrefを削除するだけです。

関連する問題