做一個自動隱藏的側(cè)邊欄吧早直!

這個做Web網(wǎng)頁的系列文章寥假,我會慢慢更新的。這也是對我使用Web前端技術(shù)的練習(xí)和總結(jié)(順便練練用Markdown的寫作)霞扬。如果大家覺得好的話糕韧,歡迎收藏、點贊喻圃、關(guān)注萤彩!

這個演示的圖片如下:
動態(tài)圖片有點大,所以一時打開會比較卡湊活著看吧:http://47.96.224.250/m/demo.gif
也可以自己把下面兩個圖像腦洞補幀:


演示的鏈接如下:
服務(wù)器地址:http://47.96.224.250/m/1.html
由于我沒有使用響應(yīng)式布局斧拍,可能排版會亂雀扶,建議使用電腦觀看或者手機瀏覽器UA調(diào)整成電腦模式

1.搭建網(wǎng)頁基本框架,并引入外部樣式表和腳本

  • 頁面結(jié)構(gòu)大致是這樣(詳見底部源碼):
body>(div.sidebar>li*n>a.icon)+a.btn
  • 接下來引用下外部腳本:
    因為需要有點擊事件肆汹,所以這里我直接采用JQuery來實現(xiàn)愚墓。

jQuery是一個快速、簡潔的JavaScript框架昂勉,是繼Prototype之后又一個優(yōu)秀的JavaScript代碼庫(或JavaScript框架)浪册。jQuery設(shè)計的宗旨是“write Less,Do More”岗照,即倡導(dǎo)寫更少的代碼村象,做更多的事情。它封裝JavaScript常用的功能代碼谴返,提供一種簡便的JavaScript設(shè)計模式煞肾,優(yōu)化HTML文檔操作、事件處理嗓袱、動畫設(shè)計和Ajax交互籍救。

我參考了w3school jQuery教程,直接使用最簡單的CDN渠抹,來引用外部的腳本蝙昙。

CDN的全稱是Content Delivery Network闪萄,即內(nèi)容分發(fā)網(wǎng)絡(luò)。CDN是構(gòu)建在網(wǎng)絡(luò)之上的內(nèi)容分發(fā)網(wǎng)絡(luò)奇颠,依靠部署在各地的邊緣服務(wù)器败去,通過中心平臺的負載均衡、內(nèi)容分發(fā)烈拒、調(diào)度等功能模塊圆裕,使用戶就近獲取所需內(nèi)容,降低網(wǎng)絡(luò)擁塞荆几,提高用戶訪問響應(yīng)速度和命中率吓妆。CDN的關(guān)鍵技術(shù)主要有內(nèi)容存儲和分發(fā)技術(shù)。

使用 Google 的 CDN:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js"></script>

使用 Microsoft 的 CDN:

<script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.min.js"></script>

再給幾份文檔供參考:
jQuery 教程 | 菜鳥教程
jQuery API 中文文檔
jQuery中文網(wǎng)

  • 引入外部樣式表:
<link rel="stylesheet" >

這里采用的是ionicons圖標庫的圖標
我采用的是國外的CDN吨铸,國內(nèi)的也可以使用行拢,參考文檔:ionic icon(圖標) | 菜鳥教程

<link rel="stylesheet" >

2.放入圖標,寫CSS樣式

  • 圖標自己上ionicons圖標庫看看诞吱,引用采用的是<a>錨點的class方式引入舟奠,不采用官網(wǎng)給的JS腳本標簽引入,點開圖標下面會顯示默認“智能引入”房维,在上面有個USAGE沼瘫,滑倒最低有個class引入方法,基本上操作幾次咙俩,你看看“智能引入”圖標英文名字就知道怎么寫了晕鹊。
  • 寫CSS樣式:
    這個這個,具體咱也不好給你講暴浦,你搜搜標簽、屬性大概就知道什么意思晓锻,就會用了(英文字面意思)
    主要講講這個:
.btn:before{
    content:'\f32a';
}
.btnc:before{
    content:'\f2c0';
}

html中是這樣的:

<a class="btn"></a>

那為啥會顯示這樣的圖標呢歌焦?


因為采用了webfont。
在css里面砚哆,如果想使用某個字體独撇,但是又擔心用戶電腦上沒有,就可以使用font-face屬性從服務(wù)器上引用這組字體躁锁。具體怎么用纷铣,搜一下font-face就很清楚了。
所以這里圖標也采用了十六進制編碼格式給“自定義”編碼進去了战转,所以引用后就可以顯示搜立,注意這里別忘引用這個“字符庫”,放在.btn{}中。

font-family: ionicons; 

參考下這個文檔吧:
font-face | 菜鳥教程
我具體獲得這個值槐秧,是在官網(wǎng)圖標庫通過開發(fā)者工具檢查元素得到的啄踊。


(我覺得這樣用簡單忧设,當然你也可以用其他方法)

3.寫JS腳本

由于這個事件很簡單,所以直接寫到html中就可以了颠通,具體怎么用址晕,在第一中給有jQuery相關(guān)文檔,可以參考一下顿锰!

<script type="text/javascript">
            $('.btn').on('click',function(){
                $('.btn').toggleClass('btnc');
                $('.sidebar').toggleClass('side');
            })
        </script>

算了谨垃,簡要介紹下toggleClass()吧。

  • 定義
    toggleClass()就是所謂的切換效果硼控,對設(shè)置或移除被選元素的一個或多個類進行切換刘陶。
  • 語法
$(selector).toggleClass(class,switch)

所以這么一看上面的代碼,不就是在點擊事件中淀歇,把兩個模塊預(yù)先寫好的樣式更換就行了易核,so easy對吧!


源代碼:

  • index.html:
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>側(cè)邊欄</title>
        <link rel="stylesheet" href="style.css">
        <!--jQuery code-->
        <script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.4.0.min.js"></script>
        <link rel="stylesheet" >
    </head>
    <body>
        <div class="sidebar">
            <ul>
                <li><a href="" class="icon ion-logo-android"></a></li>
                <li><a href="" class="icon ion-logo-playstation"></a></li>
                <li><a href="" class="icon ion-logo-windows"></a></li>
                <li><a href="" class="icon ion-logo-instagram"></a></li>
                <li><a href="" class="icon ion-logo-python"></a></li>
            </ul>
        </div>
        <a class="btn"></a>
        <script type="text/javascript">
            $('.btn').on('click',function(){
                $('.btn').toggleClass('btnc');
                $('.sidebar').toggleClass('side');
            })
        </script>
    </body>
</html>
  • style.css:
@import 'https://unpkg.com/ionicons@4.5.5/dist/css/ionicons.min.css';
body,html{
    margin: 0;
    padding: 0;
    height: 100%;
    width: 100%;
    font-family: sans-serif;
}
.sidebar{
    float: left;
    width: 100px;
    height: 100%;
    margin-left: -100px;
    background: #2c3e50;
    overflow:hidden;
    transition: 0.8s all;
}
.side{
    margin-left: 0;
}
.sidebar ul{
    margin: 0;
    padding: 0;
}
.sidebar ul li{
    list-style: none;
}
.sidebar ul li a{
    text-decoration: none;
    color: white;
    height: 80px;
    width: 100%;
    font-size: 40px;
    line-height: 80px;
    text-align: center;
    display: block;
    transition: 0.6s all;
}
.sidebar ul li a:hover{
    background: #34495e;
}
.btn{
    float: left;
    padding: 0 10px;
    font-size: 40px;
    text-decoration: none;
    color: #2c5e50;
    font-family: ionicons;
    cursor: pointer;
}
.btn:before{
    content:'\f32a';
}
.btnc:before{
    content:'\f2c0';
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末浪默,一起剝皮案震驚了整個濱河市牡直,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌纳决,老刑警劉巖碰逸,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異阔加,居然都是意外死亡饵史,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進店門胜榔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來胳喷,“玉大人,你說我怎么就攤上這事夭织】月叮” “怎么了?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵尊惰,是天一觀的道長讲竿。 經(jīng)常有香客問我,道長弄屡,這世上最難降的妖魔是什么题禀? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮膀捷,結(jié)果婚禮上迈嘹,老公的妹妹穿的比我還像新娘。我一直安慰自己全庸,他們只是感情好江锨,可當我...
    茶點故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布吃警。 她就那樣靜靜地躺著,像睡著了一般啄育。 火紅的嫁衣襯著肌膚如雪酌心。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天挑豌,我揣著相機與錄音安券,去河邊找鬼。 笑死氓英,一個胖子當著我的面吹牛侯勉,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播铝阐,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼址貌,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了徘键?” 一聲冷哼從身側(cè)響起练对,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎吹害,沒想到半個月后螟凭,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡它呀,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年螺男,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片纵穿。...
    茶點故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡下隧,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出谓媒,到底是詐尸還是另有隱情汪拥,我是刑警寧澤,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布篙耗,位于F島的核電站,受9級特大地震影響宪赶,放射性物質(zhì)發(fā)生泄漏宗弯。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一搂妻、第九天 我趴在偏房一處隱蔽的房頂上張望蒙保。 院中可真熱鬧,春花似錦欲主、人聲如沸邓厕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽详恼。三九已至补君,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間昧互,已是汗流浹背挽铁。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留敞掘,地道東北人叽掘。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像玖雁,于是被迫代替她去往敵國和親更扁。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,060評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5赫冬? 答:HTML5是最新的HTML標準浓镜。 注意:講述HT...
    kismetajun閱讀 27,489評論 1 45
  • $HTML, HTTP面殖,web綜合問題 1竖哩、前端需要注意哪些SEO 2、 的title和alt有什么區(qū)別 3脊僚、HT...
    Hebborn_hb閱讀 4,602評論 0 20
  • 請參看我github中的wiki相叁,不定期更新。https://github.com/ivonzhang/Front...
    zhangivon閱讀 7,131評論 2 19
  • 熊貓阿寶想做一只熊貓辽幌。 20年來被鵝爸爸撫養(yǎng)長大增淹,跟隨熊貓爸爸回到熊貓村才知道熊貓的熊生是怎樣的。阿寶重新學(xué)習(xí)走路...
    宋旸閱讀 336評論 0 1
  • 在15歲以前,我每天都盼望著長大加酵,15歲以后我盼著自己慢慢長大拳喻,不想那么快,時光你慢些吧猪腕,給我時間讓我長大變老冗澈。 ...
    好彩妹閱讀 362評論 2 1