Bootstrap每天必學(xué)之媒體對(duì)象
在Web頁(yè)面或者說(shuō)移動(dòng)頁(yè)面制作中,常常看到這樣的效果,左邊居左(或居右),內(nèi)容居右(或居左)排列,如下圖所示:
我們常常把這樣的效果稱為媒體對(duì)象??梢哉f(shuō)他是一種抽像的樣式,可以用來(lái)構(gòu)建不同類型的組件。這些組件都具有開(kāi)篇所說(shuō)的樣式風(fēng)格。那么在Bootstrap框架中特意將些部分提取出來(lái)做來(lái)一個(gè)組件介紹。其對(duì)應(yīng)的版本文件:
☑ LESS版本:對(duì)應(yīng)的源文件是media.less
☑ Sass版本:對(duì)應(yīng)的源文件是_media.scss
☑ 編譯后版本:對(duì)應(yīng)bootstrap.css文件第4792行~第4819行
1、媒體對(duì)象–默認(rèn)媒體對(duì)象
媒體對(duì)象一般是成組出現(xiàn),而一組媒體對(duì)象常常包括以下幾個(gè)部分:
☑ 媒體對(duì)像的容器:常使用“media”類名表示,用來(lái)容納媒體對(duì)象的所有內(nèi)容
☑ 媒體對(duì)像的對(duì)象:常使用“media-object”表示,就是媒體對(duì)象中的對(duì)象,常常是圖片
☑ 媒體對(duì)象的主體:常使用“media-body”表示,就是媒體對(duì)像中的主體內(nèi)容,可以是任何元素,常常是圖片側(cè)邊內(nèi)容
☑ 媒體對(duì)象的標(biāo)題:常使用“media-heading”表示,就是用來(lái)描述對(duì)象的一個(gè)標(biāo)題,此部分可選
如下圖所示:
除了上面四個(gè)部分之外,在Bootstrap框架中還常常使用“pull-left”或者“pull-right”來(lái)控制媒體對(duì)象中的對(duì)象浮動(dòng)方式。
在具體使用中如下所示:
<div class="media"> <a class="pull-left" href="#"> <img class="media-object" src="imgs/1.jpg" alt="..."> </a> <div class="media-body"> <h4 class="media-heading">系列:十天精通CSS3</h4> <div>全方位深刻詳解CSS3模塊知識(shí),經(jīng)典案例分析,代碼同步調(diào)試,讓網(wǎng)頁(yè)穿上絢麗裝備!</div> </div> </div>
運(yùn)行效果如下:
原理分析:
媒體對(duì)象樣式相對(duì)來(lái)說(shuō)比較簡(jiǎn)單,只是設(shè)置他們之間的間距,如下所示:
/bootstrap.css文件第4792行~4815行/
.media, .media-body { overflow: hidden; zoom: 1; } .media, .media .media { margin-top: 15px; } .media:first-child { margin-top: 0; } .media-object { display: block; } .media-heading { margin: 0 0 5px; } .media > .pull-left { margin-right: 10px; } .media > .pull-right { margin-left: 10px; }
2、媒體對(duì)象–媒體對(duì)象的嵌套
在評(píng)論系統(tǒng)中,常常能看到下圖的效果:
從外往里看,這里有三個(gè)媒體對(duì)象,只不過(guò)是一個(gè)嵌套在另一個(gè)的里面。那么在Bootstrap框架中的媒體對(duì)象也具備這樣的功能,只需要將另一個(gè)媒體對(duì)象結(jié)構(gòu)放置在媒體對(duì)象的主體內(nèi)“media-body”,如下所示:
<div class="media"> <a class="pull-left" href="#"> <img class="media-object" src="…" alt="..."> </a> <div class="media-body"> <h4 class="media-heading">Media Heading</h4> <div>…</div> <div class="media"> <a class="pull-left" href="#"> <img class="media-object" src="…" alt="..."> </a> <div class="media-body"> <h4 class="media-heading">Media Heading</h4> <div>…</div> <div class="media"> <a class="pull-left" href="#"> <img class="media-object" src="…" alt="..."> </a> <div class="media-body"> <h4 class="media-heading">Media Heading</h4> <div>...</div> </div> </div> </div> </div> </div> </div>
在確保你的結(jié)構(gòu)沒(méi)有嵌套錯(cuò)的情況下,能直接看到下圖這樣的效果:
3、媒體對(duì)象–媒體對(duì)象列表
媒體對(duì)象的嵌套僅是媒體對(duì)象中一個(gè)簡(jiǎn)單應(yīng)用效果之一,在很多時(shí)候,我們還會(huì)碰到一個(gè)列表,每個(gè)列表項(xiàng)都和媒體對(duì)象長(zhǎng)得差不多,同樣用評(píng)論系統(tǒng)來(lái)說(shuō)事:
使用方法:
針對(duì)上圖的媒體對(duì)象列表效果,Bootstrap框架提供了一個(gè)列表展示的效果,在寫結(jié)構(gòu)的時(shí)候可以使用ul,并且在ul上添加類名“media-list”,而在li上使用“media”,示例代碼如下:
<ul class="media-list"> <li class="media"> <a class="pull-left" href="#"> <img class="media-object" src=" " alt="..."> </a> <div class="media-body"> <h4 class="media-heading">Media Header</h4> <div>…</div> </div> </li> <li class="media">…</li> <li class="media">…</li> </ul>
運(yùn)行效果如下:
原理分析:
媒體對(duì)象列表,在樣式上也并沒(méi)有做過(guò)多的特殊處理,只是把列表的左間距置0以及去掉了項(xiàng)目列表符號(hào):
/bootstrap.css文件第4816行~第4819行/
.media-list { padding-left: 0; list-style: none; }
如果大家還想深入學(xué)習(xí),可以點(diǎn)擊這里進(jìn)行學(xué)習(xí),再為大家附兩個(gè)精彩的專題:Bootstrap學(xué)習(xí)教程 Bootstrap實(shí)戰(zhàn)教程
以上就是本文的全部?jī)?nèi)容,幫助大家學(xué)習(xí)Bootstrap媒體對(duì)象,希望對(duì)大家的學(xué)習(xí)有所幫助。
相關(guān)文章
Javascript 高性能之遞歸,迭代,查表法詳解及實(shí)例
這篇文章主要介紹了Javascript 高性能之遞歸,迭代,查表法詳解及實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-01-01再談javascript圖片預(yù)加載技術(shù)(詳細(xì)演示)
由于javascript無(wú)法獲取img文件頭數(shù)據(jù),必須等待其加載完畢后才能獲取真實(shí)的大小,所以lightbox類效果為了讓圖片居中顯示,導(dǎo)致其速度體驗(yàn)要比直接輸出的差很多。2011-03-03Javascript+XMLHttpRequest+asp.net無(wú)刷新讀取數(shù)據(jù)庫(kù)數(shù)據(jù)
Javascript+XMLHttpRequest+asp.net無(wú)刷新讀取數(shù)據(jù)庫(kù)數(shù)據(jù)2009-08-08javascript在子頁(yè)面中函數(shù)無(wú)法調(diào)試問(wèn)題解決方法
遇到在子頁(yè)面中提交的時(shí)候會(huì)無(wú)法能夠調(diào)試javascript代碼的情況出現(xiàn),下面有個(gè)不錯(cuò)的解決方法,希望對(duì)大家有所幫助2014-01-01