2017-01-23 19 views
-1

@media screen and (max-width: 800px)」からウィンドウのサイズを変更した後、リスト要素を正しい場所に戻すことができません。メディアクエリーの後、要素を正しい位置に戻す方法を教えてください。

これらのリスト要素は、デフォルトではヘッダーの行の中央に表示されています。私の目標は、小さなデバイスでサイドバーに表示させることです。

大きな画面から小さな画面にリサイズするとすべてがうまくいきますが、小さな画面モードでいくつかのJavaScriptを使用してサイドメニューを開いたり閉じたりすると、大きな画面サイズに戻ってサイズ変更しようとします彼らはどこにいるのだろうか?

ページの左側に一直線に並んでいるように見えますが、もう中央に並んでいないようです。

また、私はこの問題を引き起こす可能性があるCSSの上書きをチェックしましたが、何も表示されていないようで、javascriptを使用する前に動作するのは奇妙です。

// för att öppna sidomenyn med 250 width 
 
function openNav() { 
 
    document.getElementById("minHuvudmeny").style.width = "250px"; 
 
} 
 

 
function closeNav() { <!--Script för att stänga sidomenyn med 0 width--> 
 
    document.getElementById("minHuvudmeny").style.width = "0"; 
 
}
body { 
 
    text-align: center; 
 
    background-image: url(bakgrund.jpg); 
 
    background-position: bottom; 
 
    background-size: auto; 
 
    font-family: 'Cuprum', sans-serif; 
 
    left: 0; 
 
    margin: 0; } 
 

 
    .navknapp {     ****Here i put the nav list inline**** 
 
    display: inline; 
 
    margin: 10px; } 
 

 
    @media screen and (max-width: 800px) { 
 
    .huvudmeny { 
 
     height: 100%; 
 
     width: 0; 
 
     background-color: #fff; 
 
     position: fixed; 
 
     z-index: 1; 
 
     overflow-x: hidden; 
 
     transition: 0.5s; 
 
     top: 0; 
 
     left: 0; 
 
     padding: 0; 
 
     padding-top: 60px; 
 
    } 
 
    .visameny { 
 
     display: block; 
 
     font-size: 50px; 
 
     text-align: left; 
 
     cursor: pointer; 
 
     position: fixed; 
 
     margin-left: 10px; 
 
     top: 0; 
 
    } 
 
    .ejvisameny { 
 
     display: block; 
 
    } 
 
    .huvudmeny .navknapp {     Here i put the navlist back to blocks 
 
     display: block; 
 
     border: 1px solid black; 
 
     transition: 0.3s 
 
    } 
 
    .huvudmeny .navknapp:hover, 
 
    .offcanvas .navknapp:focus { 
 
     background-color: red; 
 
    } 
 
    .huvudmeny .ejvisameny { 
 
     position: absolute; 
 
     top: 0; 
 
     right: 25px; 
 
     font-size: 36px; 
 
     margin-left: 50px; 
 
    } 
 
}
<header> 
 
    <h1 id=huvudRubrik>Välkommen till Daniels sida</h1> 
 
    <nav id="minHuvudmeny" class="huvudmeny"> 
 
     <a href="javascript:void(0)" class="ejvisameny" onclick="closeNav()">&#10006;</a> 
 
     <li class="navknapp"><a href="Ommig2/ommig2.htm">Home</a></li> 
 
     <li class="navknapp"><a href="news.asp">News</a></li> 
 
     <li class="navknapp"><a href="contact.asp">Contact</a></li> 
 
     <li class="navknapp"><a href="about.asp">About</a></li> 
 
    </nav> 
 
    <span class="visameny" onclick="openNav()">&#9776;</span> 
 
</header>

答えて

0

私は(MIN-幅:801px)デスクトップのために別のメディアクエリを追加することを示唆している!あなたは重要でNAVに100%の幅を割り当てています。

@media screen and (min-width: 801px) { 
    .huvudmeny { 
    width:100% !important; 
    } 
} 

したがって、左端にメニューを貼り付けるnavのゼロ幅を上書きします。

demo

関連する問題