簡體   English   中英

響應式頂部導航僅適用於手機

[英]responsive top navigation only for mobile phones

多年來我一直拒絕學習響應式編碼,但現在我已經到了必須學習它的地步。 使用 Flexbox 實現布局很容易,但我在導航時失敗了。

我想完成以下工作; 只有在手機訪問頁面時才應顯示頂部導航。 我通過將 PC 斷點設置為 display: none 來做到這一點。

現在我想刪除實際的水平 PC 導航,以便只有切換導航可用於移動設備。

我怎么做?

 /*nav*/ /* Add a black background color to the top navigation */.topnav { background-color: rgba(24, 32, 37, 0.3); overflow: hidden; } /* Style the links inside the navigation bar */.topnav a { float: left; display: block; color: #f2f2f2; text-align: center; padding: 14px 16px; text-decoration: none; font-size: 17px; } /* Add an active class to highlight the current page */.active { background-color: #555; color: white; } /* Hide the link that should open and close the topnav on small screens */.topnav.icon { display: none; } /* Dropdown container - needed to position the dropdown content */.dropdown { float: left; overflow: hidden; } /* Style the dropdown button to fit inside the topnav */.dropdown.dropbtn { font-size: 17px; border: none; outline: none; color: white; padding: 14px 16px; background-color: inherit; font-family: inherit; margin: 0; } /* Style the dropdown content (hidden by default) */.dropdown-content { display: none; position: absolute; background-color: rgba(24, 32, 37, 0.7); min-width: 160px; box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2); z-index: 1; } /* Style the links inside the dropdown */.dropdown-content a { float: none; color: white; padding: 12px 16px; text-decoration: none; display: block; text-align: left; } /* Add a dark background on topnav links and the dropdown button on hover */.topnav a:hover, .dropdown:hover.dropbtn { background-color: #555; color: white; } /* Add a grey background to dropdown links on hover */.dropdown-content a:hover { background-color: #ddd; color: black; } /* Show the dropdown menu when the user moves the mouse over the dropdown button */.dropdown:hover.dropdown-content { display: block; } /* When the screen is less than 600 pixels wide, hide all links, except for the first one ("Home"). Show the link that contains should open and close the topnav (.icon) */ @media screen and (max-width: 600px) {.topnav a:not(:first-child), .dropdown.dropbtn { display: none; }.topnav a.icon { float: right; display: block; } } /* The "responsive" class is added to the topnav with JavaScript when the user clicks on the icon. This class makes the topnav look good on small screens (display the links vertically instead of horizontally) */ @media screen and (max-width: 600px) {.topnav.responsive { position: relative; }.topnav.responsive a.icon { position: absolute; right: 0; top: 0; }.topnav.responsive a { float: none; display: block; text-align: left; }.topnav.responsive.dropdown { float: none; }.topnav.responsive.dropdown-content { position: relative; }.topnav.responsive.dropdown.dropbtn { display: block; width: 100%; text-align: left; } } /*nav*/
 <div class="topnav" id="myTopnav"> <a href="#home" class="active">Home</a> <a href="#news">News</a> <a href="#contact">Contact</a> <div class="dropdown"> <button class="dropbtn">Part I <i class="fa fa-caret-down"></i> </button> <div class="dropdown-content"> <a href="#">Link 1</a> <a href="#">Link 2</a> <a href="#">Link 3</a> </div> </div> <div class="dropdown"> <button class="dropbtn">Part II <i class="fa fa-caret-down"></i> </button> <div class="dropdown-content"> <a href="#">Link 1</a> <a href="#">Link 2</a> <a href="#">Link 3</a> </div> </div> <a href="#about">About</a> <a href="javascript:void(0);" class="icon" onclick="myFunction()">&#9776;</a> </div>

不使用 javascript 的最快方法是添加以下內容:它也適用於響應式 PC 導航。

 @media screen and (min-width: 600px) {
      .topnav {
        display: none;
      }
    }


    @media screen and (max-width: 600px) {
      .topnav {
        display: block;
      }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM