整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          html+css寫出響應式側邊導航欄

          果圖

          html部分:先寫用div畫好六個導航的卡片,再利用css添加響應效果

          <div class='card-holder'>
              <div class='card-wrapper'>
                  <a href='#'>
                      <div class='card bg-01'>
                          <span class='card-content'>item #1</span>
                      </div>
                  </a>
              </div>
              <div class='card-wrapper'>
                  <a href='#'>
                      <div class='card bg-02'>
                          <span class='card-content'>long menu item #2</span>
                      </div>
                  </a>
              </div>
              <div class='card-wrapper'>
                  <a href='#'>
                      <div class='card bg-03'>
                          <span class='card-content'>menu item #3</span>
                      </div>
                  </a>
              </div>
              <div class='card-wrapper'>
                  <a href='#'>
                      <div class='card bg-04'>
                          <span class='card-content'>item #4</span>
                      </div>
                  </a>
              </div>
              <div class='card-wrapper'>
                  <a href='#'>
                      <div class='card bg-05'>
                          <span class='card-content'>menu item #5</span>
                      </div>
                  </a>
              </div>
              <div class='card-wrapper'>
                  <a href='#'>
                      <div class='card bg-06'>
                          <span class='card-content'>long menu item #1</span>
                      </div>
                  </a>
              </div>
          </div>

          css部分:通過hover選擇器和transition屬性實現導航響應式操作,即可實現如圖效果

          a:link,
          a:hover,
          a:visited,
          a:active {
            color: #fff;
            text-decoration: none;
          }
          body {
            height: 100%;
            width: 100%;
            margin: 0;
            padding: 0;
            background: #fff;
          }
          .card-holder {  
            position: fixed;
            width: 0px;
            overflow: visible;
          }
          .card-wrapper {
            display: inline-block;
            float: right;
            clear: both;
          }
          .card {
            position: relative;
            left: 32px;
            padding: 16px 32px 16px 64px;
            margin: 8px;  
            background: #fff;
            transition: all 0.3s ease-in-out 0.1s;
          }
          //添加導航的響應式效果
          .card:hover {
            position: relative;
            left: 100%;
            margin-left: -32px;
            transition: all 0.3s ease-in-out;
          }
          .card-content {
            display: inline-block;
            color: #fff;
            font-family: 'Droid Sans', sans-serif;
            font-size: 16px;
            font-weight: bold;
            white-space: nowrap;
          }
          .bg-01 { background: #539770; }
          .bg-02 { background: #4B7D74; }
          .bg-03 { background: #8DC2BC; }
          .bg-04 { background: #EDD6B4; }
          .bg-05 { background: #BE7467; }
          .bg-06 { background: #E2AE63; }

          然后就能實現我們這個實用又美觀的側邊導航欄啦

          篇文章,小海老師帶領大家一同做一個利用CSS技術實現的導航欄。通過這個導航欄的制作,希望大家能夠對前幾篇文章中學習到的CSS屬性能有一個整體的認識,并能夠達到靈活運用的程度。

          承接文章:靈活控制塊級元素在一行內顯示,CSS浮動屬性,知道原理就很簡單

          技術等級:初級 | 適合前端開發的初學者閱讀學習。

          希望收藏了這篇文章的你同時也可以關注一下“小海前端”的頭條號,因為這些文章都是連載的,并且是經過系統的歸納和總結的。塌下心來認真閱讀,你一定會學到對你有用的知識。

          如果你是初學前端開發,強烈建議跟著文章中講的步驟自己做一做。步驟不多,思路簡單,占用不了大家太多的時間,自己做一遍,一定會收獲不少。

          一、導航欄效果圖展示:

          今天我們要做的導航欄效果如下圖所示。

          導航欄效果圖展示

          這個效果主要使用的是<ul></ul>標記對和<a></a>標記對共同實現的。

          整個實例涉及到的CSS屬性如下所示:

          • width

          • height

          • background-color

          • list-style-type

          • display

          • float

          • margin

          • line-height

          二、實現頁面效果:

          首先為導航欄設置一個<div>容器,并設置其id屬性的取值設置為nav。該容器用來控制導航欄的通欄位置。通欄的容器寬度應該設置為100%,這里高度設置為40px,顏色為#a72f2e。實現代碼如下所示:

          <div id=”nav”></div>

          #nav{

          width:100%; height:40px;

          background-color:#a72f2e;

          }

          由于要在通欄的容器中顯示固定寬度為1000px的導航欄主體,因此在該容器內部再制作一個<div>容器,用來盛放真正的導航欄代碼。我們將它的class屬性取值為navContent。這個容器的寬度設置為1000px,高度與#nav的高度等高,并且在#nav容器內部水平居中。實現代碼如下所示:

          <div class=”navContent”></div>

          #nav .navContent{

          width:1000px; height:40px;

          margin:0 auto;

          }

          接下來在.navContent容器內部書寫導航欄的各個條目。導航欄是使用<ul></ul>標記對實現的,而它的導航欄條目是利用<li></li>標記對書寫的。因為導航欄需要單擊后跳轉頁面,所以在<li></li>內部使用了<a></a>標記對。

          這里要說明一點,因為<li></li>標記對是塊級元素,<a></a>標記對是內聯元素,因此要讓<li></li>標記對包裹<a></a>標記對,不要用<a></a>標記對包裹<li></li>標記對。

          這里以導航欄條目“首頁”和“網站介紹”為例,下列HTML代碼展示了導航欄的條目內容。

          <ul>

          <li><a href="index.html">首頁</a></li>

          <li><a href="#">網站簡介</a></li>

          </ul>

          需要更多的導航欄條目,可以在<ul>標記對內部重復書寫<li></li>和<a></a>的代碼格式。

          三、編寫整個導航欄的CSS樣式:

          整個導航欄是使用<ul></ul>標記對實現的,所以需要對<ul></ul>標記對編寫CSS樣式。

          由于無序列表的列表項左側帶有小圓點的項目符號,因此需要將該項目符號去掉。所以<ul></ul>標記對的CSS代碼如下所示:

          #nav .navContent ul{

          list-style-type:none;

          }

          四、編寫導航欄條目的CSS樣式:

          導航欄條目是使用<li></li>標記對實現的,所以需要對<li></li>標記對編寫CSS樣式。

          由于<li></li>標記對是塊級元素,因此即使去掉了左側的項目符號,所有的條目依然都各自獨占一行顯示,所以需要讓它們在一行內顯示,這就需要讓所有的<li></li>標記對左浮動。CSS代碼如下所示:

          #nav .navContent ul li{

          float:left;

          }

          五、編寫導航欄條目中鏈接的CSS樣式:

          導航欄條目中的鏈接是使用<a></a>標記對實現的,所以需要對<a></a>標記對編寫CSS樣式。

          由于<a></a>標記對是內聯元素,因此無法設置寬度和高度,也就無法為每一個導航欄條目設置尺寸。因此需要將<a></a>標記對轉換為塊級元素(display屬性),然后設置寬度和高度(width屬性和height屬性)。

          有了寬度和高度,就需要讓鏈接的文本在容器中水平居中(text-align屬性)和垂直居中(line-height屬性)了。

          最后去掉鏈接的下劃線(text-decoration屬性),并設置鏈接的文本顏色(color屬性)。

          導航欄條目中鏈接的CSS代碼如下所示:

          #nav .navContent ul li a{

          display:block;

          width:100px; height:40px;

          text-align:center;

          line-height:40px;

          text-decoration:none;

          color:#dddddd;

          }

          六、編寫鼠標經過導航欄條目時的CSS樣式:

          鼠標經過導航欄目時,即使沒有觸碰到鏈接的文本部分,也應該能夠進行跳轉。因此需要對<a></a>標記對編寫鼠標經過時的CSS樣式。

          鼠標經過時,希望背景顏色(background-color屬性)和文本顏色(color屬性)發生變化。

          鼠標經過鏈接時的CSS代碼如下所示:

          #nav .navContent ul li a:hover{

          background-color:#ff5857;

          color:#ffffff;

          }

          七、整體代碼:

          至此,這個簡單的導航欄效果就完全實現了,CSS整體使用了約30行代碼。實現這個導航欄效果的HTML代碼如下圖所示。

          HTML整體代碼

          實現這個導航欄效果的CSS代碼如下圖所示。

          CSS整體代碼

          小海教材

          如果大家希望得到更加全面的關于HTML和CSS技術講解的內容,可以私信我,我會免費將小海老師自己編寫的HTML和CSS的PDF教材發給你,幫助你在前端開發的道路上闊步前行。

          小海聲明

          在頭條上發表的這些文章都是從前端開發的基礎開始一步一步講起的。我非常希望能有更多的前端開發初學者通過我寫的文章,逐步學到一定的知識,甚至慢慢有了入門的感覺。這些文章都是我這幾年教學過程中的經驗,每寫一篇時我都盡量把握好措辭,用簡單易懂的語言描述,同時精心設計版面,讓版面更加豐富,激發閱讀興趣。所以,每一篇文章可能篇幅不長,但是都要耗費小海老師很久的時間。

          希望收藏了這篇文章的你同時也可以關注一下“小海前端”的頭條號,因為這些文章都是連載的,并且是經過系統的歸納和總結的。塌下心來認真閱讀,你一定會學到對你有用的知識。

          關注“小海前端”,我會繼續為大家奉上更加深入的前端開發文章,也希望更多的初學者跟著學下去,我們共同將前端開發的路努力堅持的走下去。

          文章預告

          下一次,小海老師開始為大家講解CSS的盒屬性。盒屬性是div布局的基礎,在實際的布局過程中有許多應用技巧。下一篇文章我會為大家將盒屬性一個一個進行詳細的分析。

          篇文章將教大家如何編寫導航欄,如果大家掌握之后,通過自定義樣式,完全可以實現個性化的導航欄。

          效果圖

          首先我們看下效果圖,后面的編輯和查看導航也是相同的效果。

          效果圖

          實現方式

          接下來我們直接通過代碼的方式來展示如何完成導航欄的編寫

          • css部分代碼

          首先是div的通用樣式

          div通用樣式

          然后是鼠標懸浮的效果

          鼠標懸浮效果

          最后是菜單欄的效果

          菜單欄效果

          • js代碼控制菜單欄效果

          首先是鼠標懸停和鼠標離開菜單時的效果

          鼠標懸停和移除菜單欄

          然后是關于高亮效果的展示和取消

          高亮效果的顯示和取消

          最后是菜單欄被點擊時的函數

          點擊菜單欄的函數

          • html部分代碼

          首先我們來看一下導航欄html代碼

          導航欄的html代碼

          然后是文件菜單的html代碼

          文件菜單的html代碼

          其次是編輯菜單的html代碼

          編輯菜單的html代碼

          最后是查看菜單的html代碼

          查看菜單的html代碼

          總結

          至此,一個完整的自定義導航欄效果就完成了,如果覺得不好看的,完全可以自己設計樣式讓它更符合自己的品味,如果感興趣的希望自己把代碼試敲一遍,畢竟代碼要自己實踐才有效果。


          主站蜘蛛池模板: 国产丝袜视频一区二区三区| 亚洲国产欧美一区二区三区| 久久毛片免费看一区二区三区| 精品国产亚洲第一区二区三区| 日韩精品无码Av一区二区| 国产一区二区在线视频| 日本在线视频一区| 精品欧美一区二区在线观看| 无码国产精品一区二区免费3p| 中文字幕一区二区人妻性色| 亚洲国产成人久久综合一区77| 日本v片免费一区二区三区| 日本一区二区高清不卡| 欧美一区内射最近更新| 日韩视频免费一区二区三区| 国产精品成人一区无码| 精品免费国产一区二区| 国产成人高清视频一区二区 | 日本不卡一区二区三区视频| 亚洲一区二区三区在线观看蜜桃| 日韩精品无码视频一区二区蜜桃| 亚洲av综合av一区| 亚洲一区在线视频观看| 一区二区三区在线免费看| 国内精品一区二区三区在线观看| 亚洲综合av一区二区三区| 欧美日韩国产免费一区二区三区| 久久久精品一区二区三区| 国产亚洲福利精品一区| 高清一区二区三区日本久| 国产成人无码一区二区三区在线| 麻豆国产一区二区在线观看| 69久久精品无码一区二区| 午夜视频在线观看一区二区| 日韩精品无码视频一区二区蜜桃| 韩国福利一区二区三区高清视频 | av在线亚洲欧洲日产一区二区| 亚洲一区中文字幕久久| 国产乱子伦一区二区三区| 麻豆一区二区99久久久久| 日韩一区二区精品观看|