Bootstrap 實(shí)戰(zhàn)之響應(yīng)式個(gè)人博客 (二)

閱讀本博文前請(qǐng)參考:Bootstrap 實(shí)戰(zhàn)之響應(yīng)式個(gè)人博客 (一)

一、博客

1、結(jié)構(gòu)

整體博客詳情頁(yè)的結(jié)構(gòu)共包括四部分:

  • 導(dǎo)航欄
  • 博客主體內(nèi)容
  • 右側(cè)欄:全局搜索框,廣告位,推薦閱讀
  • 頁(yè)尾

其中導(dǎo)航欄沼沈,右側(cè)欄,頁(yè)尾都是可以復(fù)用博客列表頁(yè)(index.html)的元素以及樣式表的币厕,需要補(bǔ)充的只有博客主體內(nèi)容了列另,所有工作量大大減少了。

博客詳情頁(yè)結(jié)構(gòu)

2旦装、簡(jiǎn)介

詳情頁(yè)

博客主頁(yè)應(yīng)該有一個(gè)對(duì)博客主體內(nèi)容的簡(jiǎn)介页衙,還有直觀的就是技術(shù)標(biāo)簽,比如Java阴绢,Python或者Bootstrap這些技術(shù)相關(guān)店乐,可以用一個(gè)醒目的lable元素外加著色。
還有博客的作者呻袭,熱度眨八,發(fā)布時(shí)間等,另外Bootstrap對(duì)blockquote定義的樣式比較好看左电,可以做博客的簡(jiǎn)語(yǔ)廉侧。

3页响、代碼

不像在主頁(yè)那樣有左側(cè)欄,博客詳情頁(yè)就需要重新修改柵欄結(jié)構(gòu)段誊,博客內(nèi)容為col-sm-8闰蚕,右側(cè)推薦欄為col-sm-4
由于在主頁(yè)的時(shí)候连舍,許多元素的css樣式都已經(jīng)定義好了没陡,這里直接復(fù)用即可。例如這里的作者的頭像img

<div class="container">
    <div class="col-sm-8">
        <h1 class="blog-title">記錄點(diǎn)滴索赏,記錄成長(zhǎng)盼玄。用博客記錄技術(shù)與經(jīng)驗(yàn)的積累,在這里找到志同道合的朋友参滴,編程的樂(lè)趣强岸。</h1>
        <div class="blog-info">
            <span class="avatar"><img src="image/v2-2d45613b0fb8cdd36f53c3b31d0c6ee8_hd.jpg" alt="avatar"></span>
            <span>散人</span> |
            <span>2.8K熱度</span> |
            <span>5分鐘前</span>
            <label class="label label-info">編程</label>
            <label class="label label-warning">博客</label>
            <label class="label label-success">Java</label>
        </div>
        <div class="blog-content">
            <blockquote>
                <p>博客生活锻弓,記錄點(diǎn)滴</p>
            </blockquote>
            <img src="image/blog.png">
            如果你有大量的設(shè)置為 inline 屬性的標(biāo)簽全部放在一個(gè)較窄的容器元素內(nèi)砾赔,在頁(yè)面上展示這些標(biāo)簽就會(huì)出現(xiàn)問(wèn)題,每個(gè)標(biāo)簽就會(huì)有自己的一個(gè) inline-block 元素(就像圖標(biāo)一樣)青灼。
            解決的辦法是為每個(gè)標(biāo)簽都設(shè)置為 display: inline-block; 屬性暴心。
            如果你有大量的設(shè)置為 inline 屬性的標(biāo)簽全部放在一個(gè)較窄的容器元素內(nèi),在頁(yè)面上展示這些標(biāo)簽就會(huì)出現(xiàn)問(wèn)題杂拨,每個(gè)標(biāo)簽就會(huì)有自己的一個(gè) inline-block 元素(就像圖標(biāo)一樣)专普。
            解決的辦法是為每個(gè)標(biāo)簽都設(shè)置為 display: inline-block; 屬性。
        </div>
    </div>
    <div class="col-sm-4">
        <div class="search-bar">
            <form role="form">
                <div class="form-group has-feedback">
                    <label class="sr-only" for="Search">Search:</label>
                    <input type="search" class="form-control" placeholder="搜索" id="Search">
                    <span class="glyphicon glyphicon-search form-control-feedback"></span>
                </div>
            </form>
        </div>
        <div class="side-bar-card clearfix">
            <div class="col-sm-5">
                <img src="image/adver.png">
            </div>
            <div class="col-sm-7 side-bar-introduction">
                <div class="">代碼改變世界</div>
                <div class="side-bar-phone">聯(lián)系電話:XXXX</div>
            </div>
        </div>
        <div class="side-bar-card side-bar-recommend clearfix">
            <div class="side-bar-title">推薦閱讀</div>
            <div class="side-bar-body">
                <div class="side-bar-list">
                    <div class="side-bar-item">
                        <a href="#" class="side-item-title">淺析Django項(xiàng)目?jī)?yōu)化</a>
                        <div class="side-item-info">10.4k閱讀 | 五天前</div>
                    </div>
                    <div class="side-bar-item">
                        <a href="#" class="side-item-title">python解釋器</a>
                        <div class="side-item-info">0.4k閱讀 | 一小時(shí)前</div>
                    </div>
                    <div class="side-bar-item">
                        <a href="#" class="side-item-title">web前段優(yōu)化策略</a>
                        <div class="side-item-info">2.9k閱讀 | 一周前</div>
                    </div>
                    <div class="side-bar-item">
                        <a href="#" class="side-item-title">淺析Django項(xiàng)目?jī)?yōu)化</a>
                        <div class="side-item-info">1.4k閱讀 | 兩小時(shí)前</div>
                    </div>
                    <div class="side-bar-item">
                        <a href="#" class="side-item-title">淺析Django項(xiàng)目?jī)?yōu)化</a>
                        <div class="side-item-info">4.1k閱讀 | 兩天前</div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

4弹沽、自定義樣式

修改博客題目字體樣式檀夹。
修改博客內(nèi)容字體內(nèi)容。
使博客主體圖片水平居中策橘,并且與博客文字內(nèi)容邊距增大炸渡。

main.css中自定義樣式

/*博客補(bǔ)充css*/
.blog-title{
    font-size: 30px;
    line-height: 1.5;
    font-weight: bold;
}

.blog-info{
    line-height: 1.8;
    color: #9d9d9d;
    font-size: 15px;
}

.blog-info .label{
    opacity: 0.8;
}

.blog-content{
    padding-top: 15px;
    font-size: 15px;
    line-height: 1.5;
}

.blog-content img{
    margin: 15px auto;
}

二、響應(yīng)式布局

1丽已、簡(jiǎn)介

Bootstrap 是移動(dòng)設(shè)備優(yōu)先的蚌堵,在四種設(shè)備中

  • 超小屏幕 手機(jī) (<768px) .col-xs-
  • 小屏幕 平板 (≥768px) .col-sm-
  • 中等屏幕 桌面顯示器 (≥992px) .col-md-
  • 大屏幕 大桌面顯示器 (≥1200px) .col-lg-

在整個(gè)響應(yīng)式博客中要做的就是,在頁(yè)面由桌面或者平板縮小為手機(jī)大小的時(shí)候沛婴,將整體頁(yè)面的左右側(cè)欄變?yōu)椴伙@示吼畏,導(dǎo)航欄通過(guò)按鈕(MENU)點(diǎn)擊將導(dǎo)航欄的菜單列表由水平排列變?yōu)榇怪迸帕小?/p>

2、示例

縮放網(wǎng)頁(yè)嘁灯,未點(diǎn)擊MENU泻蚊,導(dǎo)航欄菜單隱藏

博客縮放

點(diǎn)擊右上角MENU之后,菜單垂直顯示

[圖片上傳失敗...(image-561e64-1559997941106)]

3丑婿、修改導(dǎo)航欄

在上面的示例中可以看出來(lái)藕夫,主要需要找出一個(gè)元素來(lái)存儲(chǔ)點(diǎn)擊MENU和未點(diǎn)擊MENU的兩種狀態(tài)孽糖,來(lái)控制導(dǎo)航欄列表的隱藏與垂直顯示。
這里可以使用input選中checkbox類型作為復(fù)選框毅贮。通常labelinput連用办悟,通過(guò)點(diǎn)擊label元素可以選中input元素。這里可以將input使用hidden類將其隱藏滩褥,而直接使用label作為checkbox復(fù)選框狀態(tài)的替代品病蛉。

利用visible-xs-inline-block使得MENU在縮放的時(shí)候才顯示。而導(dǎo)航欄菜單在超小屏幕的時(shí)候默認(rèn)為隱藏瑰煎,將菜單欄用hidden-xs類修飾铺然。

修改后的導(dǎo)航欄代碼:

<div class="navbar navbar-default">
    <div class="container">
        <div class="navbar-header">
            <a class="navbar-brand" href="index.html">My Blog</a>
        </div>
        <label class="toggle-label visible-xs-inline-block" for="toggle-checkbox">MENU</label>
        <input class="hidden" id="toggle-checkbox" type="checkbox">
        <div class="hidden-xs">
            <div class="col-sm-offset-2">
                <ul class="nav navbar-nav navbar-list">
                    <li><a href="#">全部分類</a></li>
                    <li><a href="#">語(yǔ)言</a></li>
                    <li><a href="#">數(shù)據(jù)結(jié)構(gòu)</a></li>
                    <li><a href="#">網(wǎng)絡(luò)</a></li>
                    <li><a href="#">操作系統(tǒng)</a></li>
                    <li><a href="#">算法</a></li>
                    <li><a href="#">實(shí)戰(zhàn)</a></li>
                </ul>
            </div>
            <ul class="nav navbar-nav navbar-right">
                <li><a href="#">登陸</a></li>
                <li><a href="#">注冊(cè)</a></li>
            </ul>
        </div>
    </div>
</div>

4、修改樣式

在添加上面的幾個(gè)css類之后還是不夠的酒甸,因?yàn)?strong>checkbox框只能保存狀態(tài)還沒(méi)有真正作用于下面的div魄健,當(dāng)checkbox為選中狀態(tài)的時(shí)候,為checkbox底下的div指定規(guī)則插勤。才會(huì)正常達(dá)到效果
使label元素變?yōu)閮?nèi)聯(lián)標(biāo)簽沽瘦,并添加樣式。

在main.css中添加手機(jī)端自適應(yīng)樣式:

#toggle-checkbox:checked ~ div{
    display: block !important;
}

.toggle-label{
    display: inline-block;
    position: absolute;
    right: 15px;
    top: 15px;
    font-size: 15px;
    font-weight: normal;
    color: #777;
}

.toggle-label:hover{
    color: #333;
}

5农尖、左右側(cè)欄自適應(yīng)

Bootstrap本身就是響應(yīng)式友好析恋,所以對(duì)于主頁(yè)的左側(cè)菜單欄,以及主頁(yè)和詳情頁(yè)的右側(cè)推薦欄盛卡,在做自適應(yīng)的時(shí)候只需要hidden-xs隱藏即可助隧。

通過(guò)以上幾步一個(gè)簡(jiǎn)單的響應(yīng)式個(gè)人博客界面就搭建好了。

三滑沧、源碼

上述部分如有整理不全請(qǐng)參照源碼并村。
完整源碼地址:https://github.com/weilanhanf/weilanhanf.github.io

四、工具介紹之利用Github在Markdown中插入圖片

在使用markdown的時(shí)候滓技,通常會(huì)遇到插入圖片和其他多媒體文件的時(shí)候哩牍,比如在博文的撰寫的時(shí)候常需要插入圖片,常用的有兩種方式:

  • 插入本地圖片
  • 插入網(wǎng)絡(luò)圖片

但是插入本地圖片的時(shí)候不靈活不好分享殖属,本地圖片的路徑更改或丟失都會(huì)造成markdown文件調(diào)不出圖姐叁。
在博客撰寫的時(shí)候,這里使用插入網(wǎng)絡(luò)圖片洗显,雖然會(huì)相當(dāng)依賴網(wǎng)絡(luò)外潜,但是一般不會(huì)有問(wèn)題。只需插入簡(jiǎn)單鏈接即可挠唆。

而可以在github上建立倉(cāng)庫(kù)处窥,利用免費(fèi)的存儲(chǔ)空間存儲(chǔ)圖片,然后再引入圖片鏈接即可插入網(wǎng)絡(luò)圖片玄组。
例如在Github中專門創(chuàng)建一個(gè)存儲(chǔ)圖片以及多媒體文件的倉(cāng)庫(kù)滔驾,如“ https://github.com/weilanhanf/Photos ”谒麦,每一次需要引入圖片之前只需向倉(cāng)庫(kù)上傳圖片,或關(guān)聯(lián)本地倉(cāng)之后在本地倉(cāng)提交哆致,然后再在markdown中插入圖片鏈接即可绕德,如博客的詳情頁(yè)鏈接“ https://github.com/weilanhanf/Photos/blob/master/Blog/blog.png?raw=true ”。
就可正常顯示如下摊阀。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末耻蛇,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子胞此,更是在濱河造成了極大的恐慌臣咖,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,270評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件漱牵,死亡現(xiàn)場(chǎng)離奇詭異夺蛇,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)酣胀,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門刁赦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人灵临,你說(shuō)我怎么就攤上這事截型∨枯” “怎么了儒溉?”我有些...
    開(kāi)封第一講書人閱讀 165,630評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)发钝。 經(jīng)常有香客問(wèn)我顿涣,道長(zhǎng),這世上最難降的妖魔是什么酝豪? 我笑而不...
    開(kāi)封第一講書人閱讀 58,906評(píng)論 1 295
  • 正文 為了忘掉前任涛碑,我火速辦了婚禮,結(jié)果婚禮上孵淘,老公的妹妹穿的比我還像新娘蒲障。我一直安慰自己,他們只是感情好瘫证,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,928評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布揉阎。 她就那樣靜靜地躺著,像睡著了一般背捌。 火紅的嫁衣襯著肌膚如雪毙籽。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 51,718評(píng)論 1 305
  • 那天毡庆,我揣著相機(jī)與錄音坑赡,去河邊找鬼烙如。 笑死,一個(gè)胖子當(dāng)著我的面吹牛毅否,可吹牛的內(nèi)容都是我干的亚铁。 我是一名探鬼主播,決...
    沈念sama閱讀 40,442評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼螟加,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼刀闷!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起仰迁,我...
    開(kāi)封第一講書人閱讀 39,345評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤甸昏,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后徐许,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體施蜜,經(jīng)...
    沈念sama閱讀 45,802評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,984評(píng)論 3 337
  • 正文 我和宋清朗相戀三年雌隅,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了翻默。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,117評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡恰起,死狀恐怖修械,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情检盼,我是刑警寧澤肯污,帶...
    沈念sama閱讀 35,810評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站吨枉,受9級(jí)特大地震影響蹦渣,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜貌亭,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,462評(píng)論 3 331
  • 文/蒙蒙 一柬唯、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧圃庭,春花似錦锄奢、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,011評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至恕酸,卻和暖如春堪滨,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背蕊温。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,139評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工袱箱, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留遏乔,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,377評(píng)論 3 373
  • 正文 我出身青樓发笔,卻偏偏與公主長(zhǎng)得像盟萨,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子了讨,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,060評(píng)論 2 355

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