前端作品集(二)移動端頁面開發(fā)--攜程網(wǎng)

隨著移動設(shè)備的普及的普及,人們越來越習(xí)慣使用移動設(shè)備來訪問網(wǎng)頁,所以學(xué)會如何開發(fā)移動端頁面是一個前端必備的技能喷斋。

一唁毒、頁面的整體布局

先上圖,做完后的效果如下圖所示:


網(wǎng)站預(yù)覽

從圖中很容易發(fā)現(xiàn)星爪,整個頁面有以下一部分組成:

  1. 頁頭和頁腳
  2. 輪播圖浆西,也就是banner,作為廣告展示部分
  3. 整個網(wǎng)站的導(dǎo)航部分
  4. 攜程的產(chǎn)品位
  5. 活動部分顽腾,分為特賣匯和熱門活動兩部分

二近零、HTML結(jié)構(gòu)

3-1. HTML整體結(jié)構(gòu)

由于移動端對各種HTML5和CSS3的新特性的支持和好,所以可以采用HTML5的新標(biāo)簽屬性內(nèi)容抄肖,如下:

<head>
    <meta charset="UTF-8">
    <title>攜程在手·說走就走</title>
    <meta name=viewport content="width=device-width,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no,minimal-ui">
</head>
<body>
    <!-- 頭部 -->
    <header></header>
    <!-- banner -->
    <section class="banner"></section>

    <!-- 導(dǎo)航部分 -->
    <nav></nav>
    <!-- 產(chǎn)品 -->
    <section class="products"></section>
    <!-- 特賣匯 -->
    <section class="temaihui"></section>
    <!-- 熱門活動 -->
    <section class="huodong"></section> 
    <!-- 頁腳 -->
    <footer></footer>
</body>
</html>

注意久信,由于是移動端的頁面,所以需要加上視口標(biāo)簽漓摩,即
<meta name=viewport>
后面content跟的是一些具體屬性裙士,如設(shè)備寬度,縮放程度等管毙,有興趣的同學(xué)可以自己去了解下潮售。

3-2. 詳細的HTML書寫

頭部由兩個div構(gòu)成,一個包裹input搜索框锅风,一個作為用戶中心

特賣匯部分采用了定義列表dl酥诽、dd、dt的展示方式

活動的頭部統(tǒng)一采用h3包裹標(biāo)題皱埠,div攜帶右邊的圖文

剩余的部分都是采用無序列表的形式展現(xiàn)ul肮帐、li,在li里面寫具體的信息

網(wǎng)頁的底部使用a標(biāo)簽包裹一些跳轉(zhuǎn)鏈接

三边器、CSS編寫

使用了便于頁面縮放的單位rem训枢,作為編寫單位,配合百分比布局實現(xiàn)整體框架布局忘巧,圓角部分是由border-radius實現(xiàn)的恒界。當(dāng)該屬性的值為50%,就能顯示一個圓砚嘴,常用該特性做頭像框十酣。

頭部,采用固定定位fixed的方式布局际长,user部分使用絕對定位耸采,定位到頁面的右上角,搜索寬的大盒子寬度為100%工育;使用padding-right流出右邊user的位置虾宇,內(nèi)部的input設(shè)為100%即可

剩下的部分,都是采用父盒子寬度為100%如绸,子元素根據(jù)需求分配嘱朽,如33%的導(dǎo)航部分旭贬,50%的活動部分

由于有的地方要加上邊框和內(nèi)邊距,默認的盒模型是采用向外擴張的方式的搪泳,所以一旦加上邊框或者內(nèi)邊距就會超過100%的寬度稀轨,變?yōu)樯舷聝尚信帕校@不是我們需要的森书,故每一處用到的邊框的標(biāo)簽靶端,都要加上box-sizing為boder-box的聲明,讓實際分配寬度等于分配的百分比凛膏,讓盒子內(nèi)部留出邊框和內(nèi)邊距的空間杨名。

四、移動端的輪播效果

移動端的輪播效果的觸發(fā)是由觸摸事件觸發(fā)的猖毫,不同于PC端的點擊事件台谍,故要采用新的書寫方式。

首先執(zhí)行一個初始化函數(shù)吁断,讓輪播圖的寬度等于設(shè)備的寬度

function set(){
            //var windowWidth = document.documentElement.clientWidth;
            var windowWidth = document.documentElement.clientWidth;
            var bannerWidth = parseInt(getComputedStyle(banner)["width"]);
            //設(shè)置banner高度
            banner.style.height = bannerWidth / (1242 / 248) + "px";

            //設(shè)計圖540寬趁蕊,540狀態(tài)下的font-size我們自己設(shè)置了一個15px。
            //所以當(dāng)前的字號就要按比例來:
            // document.documentElement.style.fontSize = 15 * (windowWidth / 540) + "px";
        }

接著寫事件監(jiān)聽函數(shù)仔役,移動的觸摸事件touch掷伙,有三部分組成,分別為touchstart又兵,touchmove和touchend

//事件監(jiān)聽
        banner.addEventListener("touchstart",touchstartHandler,false);
        banner.addEventListener("touchmove",touchmoveHandler,false);
        banner.addEventListener("touchend",touchendHandler,false);

移動端觸摸任柜,又分為點擊和滑動兩種,判斷的依據(jù)就是滑動的距離和操作的時間戳(開始觸摸時的時間減去結(jié)束觸摸時的時間)

//如果你像右邊滑動超過了屏幕的一半沛厨,或者你向右邊滑動且時間小于500宙地,就認為滑動成功
            if(distance >= windowWidth / 2 || (distance > 30 && time < 300))

然后根據(jù)具體的左右滑動做相應(yīng)的處理即可。

五逆皮、總結(jié)

移動端頁面的開發(fā)宅粥,能采用百分比布局的地方盡量采用百分比布局,如果一定要寫單位电谣,那么請用rem或者em(不推薦)為單位秽梅,便于使用@media時放大或縮小整個頁面,還有辰企,在開發(fā)移動端時风纠,一些新的特性,能使用的就放心大膽的使用牢贸,如果實在不知道能不能用,可以訪問該網(wǎng)站can i use.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末镐捧,一起剝皮案震驚了整個濱河市潜索,隨后出現(xiàn)的幾起案子臭增,更是在濱河造成了極大的恐慌腐晾,老刑警劉巖扇苞,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件亲轨,死亡現(xiàn)場離奇詭異扭粱,居然都是意外死亡叉谜,警方通過查閱死者的電腦和手機嗤谚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進店門结洼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來锌畸,“玉大人泌辫,你說我怎么就攤上這事随夸。” “怎么了震放?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵宾毒,是天一觀的道長。 經(jīng)常有香客問我殿遂,道長诈铛,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任墨礁,我火速辦了婚禮幢竹,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘恩静。我一直安慰自己焕毫,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布蜕企。 她就那樣靜靜地躺著咬荷,像睡著了一般。 火紅的嫁衣襯著肌膚如雪轻掩。 梳的紋絲不亂的頭發(fā)上幸乒,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天,我揣著相機與錄音唇牧,去河邊找鬼罕扎。 笑死,一個胖子當(dāng)著我的面吹牛丐重,可吹牛的內(nèi)容都是我干的腔召。 我是一名探鬼主播,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼扮惦,長吁一口氣:“原來是場噩夢啊……” “哼臀蛛!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤浊仆,失蹤者是張志新(化名)和其女友劉穎客峭,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體抡柿,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡舔琅,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了洲劣。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片备蚓。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖囱稽,靈堂內(nèi)的尸體忽然破棺而出郊尝,到底是詐尸還是另有隱情,我是刑警寧澤粗悯,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布虚循,位于F島的核電站,受9級特大地震影響样傍,放射性物質(zhì)發(fā)生泄漏横缔。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一衫哥、第九天 我趴在偏房一處隱蔽的房頂上張望茎刚。 院中可真熱鬧,春花似錦撤逢、人聲如沸膛锭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽初狰。三九已至,卻和暖如春互例,著一層夾襖步出監(jiān)牢的瞬間奢入,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工媳叨, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留腥光,地道東北人。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓糊秆,卻偏偏與公主長得像武福,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子痘番,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,037評論 2 355

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

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,167評論 25 707
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案捉片? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J的外補...
    _Yfling閱讀 13,754評論 1 92
  • 剩余參數(shù)(rest parameter)語法允許我們將一個不定數(shù)量的參數(shù)表示為一個數(shù)組。 參數(shù)默認值
    顛倒的黑白閱讀 396評論 0 0
  • 吳聘走了觉增,周瑩哭得撕心裂肺兵拢,世間最寵她的那個人不在了翻斟,從此,她生無可戀说铃,不如隨他一起走访惜,生死相隨,成全彼此的情意腻扇。...
    葉瑩閱讀 1,405評論 0 2
  • 每次啟動vue的時候都要修改一次端口號债热,也就是每次修改一次端口號只能啟動一次npm run dev 關(guān)閉在啟動時就...
    _ethan_閱讀 4,191評論 0 1