溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

css3與html5實現(xiàn)響應(yīng)式導(dǎo)航菜單效果

發(fā)布時間:2021-07-26 13:59:47 來源:億速云 閱讀:102 作者:chen 欄目:web開發(fā)

本篇內(nèi)容介紹了“css3與html5實現(xiàn)響應(yīng)式導(dǎo)航菜單效果”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

此方法可以應(yīng)用到有特別多的鏈接菜單項目中,特別在移動項目中,它可以將所有菜單轉(zhuǎn)換成一個按鈕式的下拉菜單。

HTML

示例中有一個導(dǎo)航菜單的html結(jié)構(gòu),元素<nav>用來定位導(dǎo)航菜單,.current表示當(dāng)前活動的導(dǎo)航項。
 

代碼如下:


<ul>
   <li class="current"><a href="#">首頁</a></li>
   <li><a href="#">客戶服務(wù)</a></li>
   <li><a href="#">產(chǎn)品展示</a></li>
   <li><a href="#">經(jīng)典案例</a></li>
   <li><a href="#">聯(lián)系我們</a></li>
</ul>

CSS

首先我們要給菜單nav相對定位,我們在.nav li中使用display: inline-block代替float:left,這樣一來我們可以使用text-align 來對nav菜單進行左中右對齊設(shè)置。
 
 

代碼如下:


.nav {
   position: relative;
   margin: 20px 0;
}
.nav ul {
   margin: 0;
   padding: 0;
}
.nav li {
   margin: 0 5px 10px 0;
   padding: 0;
   list-style: none;
   display: inline-block;
}
.nav a {
   padding: 3px 12px;
   text-decoration: none;
   color: #999;
   line-height: 100%;
}
.nav a:hover {
   color: #d0d0d0;
}
.nav .current a {
   background: #999;
   color: #fff;
   border-radius: 5px;
}
使用text-align對菜單進行右對齊和居中對齊。

/* right nav */
.nav.right ul {
   text-align: right;
}

/* center nav */
.nav.center ul {
   text-align: center;
}

接下來我們來做響應(yīng)式設(shè)計,我們使用CSS3的media query來實現(xiàn)。當(dāng)瀏覽器窗口寬度小于600px時,我們把<nav>設(shè)置成relative相對定位,把<ul>設(shè)置成absolute絕對定位,并且display:none隱藏所有l(wèi)i元素,這個時候?qū)Ш讲藛巫兂梢粋€固定大小的按鈕。當(dāng)鼠標(biāo)滑向nav元素時,菜單下拉展開,設(shè)置所有l(wèi)i的樣式display: block,具體請看代碼:
 
 

代碼如下:


@media screen and (max-width: 600px) {
   .nav {
       position: relative;
       min-height: 40px;
   }    
   .nav ul {
       width: 180px;
       padding: 5px 0;
       position: absolute;
       top: 0;
       left: 0;
       border: solid 1px #aaa;
       background: #fff url(images/menu.png) no-repeat 10px 11px;
       border-radius: 5px;
       box-shadow: 0 1px 2px rgba(0,0,0,.3);
   }
   .nav li {
       display: none; /* hide all items */
       margin: 0;
   }
   .nav .current {
       display: block; /* show only currentitem */
   }
   .nav a {
       display: block;
       padding: 5px 5px 5px 32px;
       text-align: left;
   }
   .nav .current a {
       background: none;
       color: #666;
   }

   /* on nav hover */
   .nav ul:hover {
       background-image: none;
   }
   .nav ul:hover li {
       display: block;
       margin: 0 0 5px;
   }
   .nav ul:hover .current {
       background: url(images/check.png) no-repeat 10px 7px;
   }

   /* right nav */
   .nav.right ul {
       left: auto;
       right: 0;
   }

   /* center nav */
   .nav.center ul {
       left: 50%;
       margin-left: -90px;
   }      
}

“css3與html5實現(xiàn)響應(yīng)式導(dǎo)航菜單效果”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI