鍍金池/ 教程/ 產(chǎn)品經(jīng)理/ 第二十八章 首屏大海報(bào)(二)
第四十一章 定位實(shí)例(二)
第十四章 從 div 扯開去
第四十三章 定位實(shí)例(四)
第四十五章 無(wú)聊的寫個(gè)小游戲吧
第十七章 導(dǎo)航條(二)
第十三章 神一樣的 CSS
第二十三章 導(dǎo)航條(八)
第四十章 定位實(shí)例(一)
第五十九章 見證奇跡
第三十五章 隨便聊聊
第十九章 導(dǎo)航條(四)
第四十四章 定位實(shí)例(五)
第三十六章 定位(一)
第三十九章 坐標(biāo)系
第三十四章 一些補(bǔ)遺
第五十八章 各就各位,預(yù)備~~
第二十七章 首屏大海報(bào)(一)
第二十六章 CSS 書寫規(guī)范
第十一章 一起寫個(gè)百度
第三章 幾個(gè)小故事
第七章 認(rèn)識(shí)鏈接
前言
第五十五章 苛刻至極!
第三十三章 一個(gè)頁(yè)尾
第二十二章 導(dǎo)航條(七)
第四十七章 JavaScript Start
第五十章 最簡(jiǎn)單的邏輯判斷
第五十三章 一百遍啊一百遍!
第四章 做點(diǎn)準(zhǔn)備工作
第一章 開場(chǎng)小談
第六章 開始寫點(diǎn)東西
第五十六章 一套工具
第四十二章 定位實(shí)例(三)
第五十二章 愛妃,朕還宣你!
第二十五章 導(dǎo)航條(十)
第五章 一個(gè)模板
第二章 扯扯學(xué)習(xí)方法
第十八章 導(dǎo)航條(三)
第四十六章 響應(yīng)式
第四十八章 變量
第十六章 導(dǎo)航條(一)
第三十八章 定位(三)
第二十九章 首屏大海報(bào)(三)
第四十九章 運(yùn)算符
第九章 來(lái)吧,表哥(表格)!
第三十一章 還是海報(bào)
第十章 表格布局原理
第三十章 首屏大海報(bào)(四)
第十二章 相對(duì)地址
第二十章 導(dǎo)航條(五)
第五十七章 助理!麻煩過(guò)來(lái)一下~
第三十二章 一些格子
第五十一章 朕宣你!
第五十四章 一萬(wàn)遍啊一萬(wàn)遍!
第二十八章 首屏大海報(bào)(二)
第十五章 開始征途
第三十七章 定位(二)
第六十章 開始玩玩
第二十一章 導(dǎo)航條(六)
第八章 半個(gè)標(biāo)簽
第二十四章 導(dǎo)航條(九)

第二十八章 首屏大海報(bào)(二)

據(jù)說(shuō)看完上一節(jié)教程之后好幾撥人哭昏在了廁所。別再昏了,起來(lái)嗨~

其實(shí)后面講到響應(yīng)式我們可以根據(jù)實(shí)際情況去調(diào)節(jié)海報(bào)的高度,講到 JQuery 我們可以很方便的動(dòng)態(tài)設(shè)置海報(bào)高度。那時(shí)候有的你們哭的,讓感動(dòng)的淚水盡情地?fù)]灑吧,歐耶~

反正也都感動(dòng)了,索性再感動(dòng)一下好了,來(lái)玩?zhèn)€ CSS3 的屬性哦~對(duì)了,你們說(shuō)什么是 CSS3 啊,什么是 HTML5 啊,就是那些低版本 IE 兼容不了的東西……

所以今天的屬性你要是在小于等于 8 版本的 IE 下瀏覽可能不起作用。這個(gè)屬性是 background-size ,他可以同時(shí)含有兩個(gè)值,依次是 X 軸方向和 Y 軸方向??梢栽O(shè)置帶長(zhǎng)度單位的數(shù)字值,或者百分比。然后不設(shè)置則默認(rèn) auto。這個(gè)跟 width 或者 height 屬性是一致的,其實(shí)這就是設(shè)置背景圖片的寬高,你看這個(gè)以前讓很多人發(fā)愁過(guò)的問(wèn)題到了 CSS3 下面變得十分簡(jiǎn)單了。

只是寬高設(shè)置還需要演示么?配合昨天講到的(background-position)可以想出各種玩法,看你的想象力了哦。然后我們?cè)賮?lái)說(shuō)一個(gè) background-size 的特殊值:cover。這個(gè)值什么意思呢?就是圖片等比例縮放至恰好覆蓋整個(gè)元素,這種情況其實(shí)說(shuō)白了就是某一邊正好100%,另一邊等于或者大于元素對(duì)應(yīng)方向的長(zhǎng)度。

反正你理解為圖片不變形(只是放大或者縮?。┑奶顫M元素就是了,再不理解就試試唄,反正不要錢。這就是學(xué)習(xí)方法,你看,這么說(shuō)就顯得高大上了。

然后我們這里就用 cover 這個(gè)值就好了。

background-size: cover;

看看效果,大圖在橫向上得以完美地展示:

但是這里存在一些隱含的問(wèn)題,第一、我們當(dāng)前圖片較大,需要進(jìn)行偏移(background-position),那么我們的偏移量就很難確定,不過(guò)如果你只是定位(left、top 之類)倒是還不至于有影響;第二、我們的海報(bào)(#post)長(zhǎng)寬比不是確定的,所以,你可能無(wú)法確定究竟哪一邊是 100%,進(jìn)而的,你也可能無(wú)法十分明確的確定海報(bào)的展示區(qū)域。在當(dāng)前,這是我們很難解決的問(wèn)題,所以這次我們無(wú)法使用這個(gè)屬性。但是等到后面我們學(xué)習(xí)了響應(yīng)式和 JQ 之后,可以根據(jù)情況對(duì)網(wǎng)頁(yè)進(jìn)行動(dòng)態(tài)設(shè)置了,那這些雞肋的問(wèn)題就可以解決掉了。那才是真正有了生命的網(wǎng)頁(yè)。

好啦,演示了一個(gè) CSS3 屬性,其實(shí)也不過(guò)如此嘛,沒有什么神奇的地方,跟以前的屬性用起來(lái)一樣的普通啊,而且他也有他的小缺點(diǎn)??墒怯行┤朔堑蒙窕@些東西,把 HTML5 和 CSS3 搞得多么多么高大上,其實(shí)完全沒必要么,反正我就是個(gè)土鱉,給我披薩我也卷著大蔥吃,但是我身體倍兒棒,你能怎么樣。

反正也是講到背景圖像嘛,索性我們就再講一個(gè)屬性好了。background-attachment ,這個(gè)屬性是說(shuō)元素的背景圖像是否相對(duì)于窗口滾動(dòng),默認(rèn)當(dāng)然是滾動(dòng)了,就是像我們平時(shí)見到的那樣。但是當(dāng)你設(shè)置為 fixed 的時(shí)候,他就相對(duì)于窗口固定了,測(cè)試方法:給咱們現(xiàn)在的代碼的 #post 元素加上 background-attachment: fixed; ,然后在 html 代碼里的 #post 元素下面加上很多個(gè) <br /> 這樣頁(yè)面就可以滾動(dòng)了哦,那么上下滾動(dòng)頁(yè)面試試看吧,隨便你的頁(yè)面怎么動(dòng),背景也在原地的哦。借助這個(gè)屬性我們又可以做出很多神奇的效果了呢。當(dāng)然,這里也說(shuō)明了上一章提到的 w3cschool 的說(shuō)法是怎樣的誤導(dǎo)了。

然后,我們把background-attachment: fixed; 去掉哦,那些多加的 br 自然也要去掉,回到我們的主線任務(wù)上來(lái)。我們的主線任務(wù)是什么來(lái)的?哦,對(duì)了,吃烤串,老板,再來(lái)三十串大魷魚,少放辣椒,對(duì),就是對(duì)面這個(gè)正在看我教程的人付款。別跑,還有啤酒呢……算了,他跑了,我們繼續(xù)聊海報(bào)。

這是一個(gè)海報(bào),假設(shè)我們現(xiàn)在我們的海報(bào)上已經(jīng)有了完整的內(nèi)容,你別看我,我這上沒有,我就放了張圖片示意一下,看不慣你咬我啊,額,男生就算了。那么我們現(xiàn)在想給他加個(gè)鏈接,這是一個(gè)很常見的需求,對(duì)吧。你說(shuō)要是圖片就簡(jiǎn)單了,可是我們卻把它設(shè)置成了背景。我跟你說(shuō)啊,這個(gè)要是圖片,你想讓他這么居中對(duì)齊,然后兩邊超出的部分隱藏,這個(gè)效果可是要好麻煩才能做出來(lái)的哦。而且你真的打算給寬屏圖片整個(gè)加鏈接嗎?那你一定沒考慮過(guò)用戶體驗(yàn)這一層。

我在一個(gè)頁(yè)面需要滾動(dòng)的時(shí)候喜歡先用鼠標(biāo)在空白的地方點(diǎn)一下,以確保焦點(diǎn)在頁(yè)面上。但是如果我點(diǎn)哪里都會(huì)產(chǎn)生某些作用的話,我會(huì)很困擾。就好像你要抓住一塊掉落的豆腐,卻又不能讓他碎掉般糾結(jié)。所以我覺得我們把兩邊只是為了視覺補(bǔ)白的部分留出來(lái),只給中間有效內(nèi)容區(qū)加鏈接就好。

怎么加?其實(shí)完全是我們講過(guò)的東西哦,先給 #post 元素里邊放一個(gè)空鏈接,我說(shuō)的空是指鏈接內(nèi)沒有內(nèi)容,不是說(shuō)不設(shè)置鏈接的各種屬性哦。

<div id="post">
    <a  class="post-link"></a>
</div><!-- #post End -->

然后給剛才的鏈接設(shè)置 CSS。

#post .post-link {
    display: block;
    width: 960px;
    height: 100%;
    margin: 0 auto;
}

a 是內(nèi)聯(lián)元素(inline),先轉(zhuǎn)換成塊元素,然后設(shè)置寬高,最后用 margin 居中,很簡(jiǎn)單。但是我們的目的達(dá)到了,去頁(yè)面移動(dòng)鼠標(biāo)看看吧,注意鼠標(biāo)光標(biāo)的變化哦~~

然后說(shuō)一下這個(gè)寬度,960px 是在 1024px 寬度的屏幕下可以舒服的展示(不出現(xiàn)橫向滾動(dòng)條)的最大寬度。有人說(shuō)淘寶的 990px 寬度,不過(guò)不幸的是掏寶商城頁(yè)面在 1024px 寬度屏幕下會(huì)出現(xiàn)橫向滾動(dòng)。也許你說(shuō)這不重要吧,反正現(xiàn)在都是大屏幕,這就看你期望怎樣的兼容性了。不過(guò)其實(shí)有了響應(yīng)式,這些問(wèn)題也就不是大問(wèn)題了??墒堑搅说桶姹镜?IE 上,唉,一切都是浮云,不得不再說(shuō)一句 IE 該死!

本章學(xué)習(xí)卡片:卡片 28

本章代碼下載:本章代碼


本書是收費(fèi)的,不過(guò)交費(fèi)憑自覺。價(jià)格定義為每人請(qǐng)我喝一杯咖啡(哪種品質(zhì)的咖啡隨意),支付寶賬號(hào):

alay9999@163.com (劉源)

為了讓大家閱讀方便,本書將在如下站點(diǎn)發(fā)布,但最終內(nèi)容以主站為準(zhǔn):

未經(jīng)本人許可,禁止任何形式轉(zhuǎn)載。相關(guān)事宜請(qǐng)聯(lián)系: dms@zji.me