前端技巧集:導航欄全解析

導航欄是網(wǎng)頁中非常普遍的一個組件,今天一步步教大家如何做個導航欄。一般導航欄是使用無序列表實現(xiàn)的(ul+li),看看下面的無序列表是不是非常像導航欄呢?

 <ul>
        <li>精選</li>
        <li>女裝</li>
        <li>鞋包</li>
        <li>男士</li>
        <li>運動</li>
        <li>飾品</li>
        <li>美妝</li>
        <li>母嬰</li>
        <li>居家</li>
        <li>國際</li>
        <li>生活</li>
        <li>預告</li>
 </ul>

先給ul加上border,便于查看元素的大小情況。

border: 1px solid gray;

一、兩步把無序列表變垂直導航欄

  1. 清除ul樣式
  list-style: none;
  padding-left:0;
  1. uldisplay改為inline-block
display : inline-block;

看看,是不是垂直導航欄基本樣式已經(jīng)出來了。

二、美化垂直導航欄

大體的樣子出來了,但是看上去比較緊湊。我們一起美化一下吧。

  1. ul的內(nèi)邊距調(diào)整一下
  padding:10px;
  1. li的內(nèi)邊距調(diào)整一下
  padding:10px;
  1. ul的邊框加上圓角
    看上去導航欄比較生硬,我們加個圓角潤色一下。
  border-radius: 5px;
  1. li加上:hover特效
li:hover {
    background-color : #f5f5f5;
    cursor:pointer;
}
  1. li加上:hover特效加上圓角
    背景還是比較生硬,我們用同樣的方式潤滑一下。
  border-radius: 5px;
  1. li加上:hover特效加上白色字體
    背景色與字體顏色比較接近,看不清。我們把字體顏色設(shè)成白色,并且加粗。
color: #fff;
font-weight: bold;

我們的垂直導航欄基本上完成了,簡單吧。大家試一下。

三、代碼

垂直導航欄的代碼一欄,如下所示:

        ul {
            border: 1px solid gray;
            list-style: none;
            padding-left: 0;
            display: inline-block;
            padding: 10px;
            border-radius: 5px;
        }
        
        li {
            padding: 10px;
        }
        
        li:hover {
            background-color: #999;
            cursor: pointer;
            border-radius: 5px;
            color: #fff;
            font-weight: bold;
        }

四、垂直導航欄秒變水平導航欄

lidisplay改為inline-block,垂直導航欄秒變水平導航欄。

我們把瀏覽器的窗口變小,水平導航欄居然換行了。


這顯然不是我們需要的。如何不讓水平導航欄換行呢?只要加上ul加上一個white-space屬性,屬性值為不換行nowrap,就可以了。

white-space:nowrap;

看是不是水平導航欄成了一行了,瀏覽器還加上了水平滾動條。

通常的還有一個辦法是設(shè)置導航欄的高度,并且需要把overflow設(shè)置為hidden,讓導航欄超出部分隱藏。在ul加上如下代碼:

  height: 40px;
  overflow: hidden;

如有問題請留言;如有幫助請點贊。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 14,172評論 1 92
  • 轉(zhuǎn)載請聲明 原文鏈接地址 關(guān)注公眾號獲取更多資訊 第一部分 HTML 第一章 職業(yè)規(guī)劃和前景 職業(yè)方向規(guī)劃定位...
    前端進階之旅閱讀 16,888評論 32 459
  • 1. 各個瀏覽器默認的內(nèi)外邊距不同 解決:*{margin:0;padding:0;} 2. 水平居中的問題 問題...
    嘵兩々閱讀 1,754評論 0 4
  • 前文導航欄全解析中我們做了水平和垂直的導航欄,現(xiàn)在我們做一下水平和垂直的菜單欄。菜單欄與導航欄區(qū)別不大,只要在導航...
    jdzhangxin閱讀 3,275評論 0 4
  • 人的地位是由自身的強大決定的,動物已經(jīng)成了自然界中的低能寄生者。但是,人和動物到底有什么區(qū)別呢?我們最容易想到的就...
    汲思廣溢閱讀 270評論 0 2

友情鏈接更多精彩內(nèi)容