我的第一個響應式頁面

Long long ago…

后面通常會緊接一個跌蕩起伏,錯綜復雜,深刻細膩的故事价卤。

就像我寫出第一個響應式頁面的心路歷程一般赤赊。

當我看到一個頁面長成這樣闯狱,以前我會以為就像畫畫一樣簡單,把哪個塊畫在哪抛计,上什么色哄孤,按何種比例構(gòu)造,想加什么描述就加什么吹截,只要看起來形象生動瘦陈,文圖相配就成凝危。多么簡單的一件小事……

一個前端的響應式頁面,它需要考慮的細節(jié)很多:

一晨逝,首先要考慮到它適配在哪些客戶端蛾默,拿到的設計搞是否可行以及合理就很關(guān)鍵了


上面兩張圖片,是一個響應式頁面的logo區(qū)和slogan導航條區(qū)與banner主題說明區(qū)捉貌,需要理解各部分在客戶端呈現(xiàn)的意義是什么支鸡,我起初是一臉懵的,這需要經(jīng)驗以及該項目所要呈現(xiàn)的內(nèi)容趁窃,圓形部分被認為是logo呈現(xiàn)牧挣,那么就需要一張logo圖,圖片由方形切成圓形

slogan在屏寬改變時醒陆,由一兩行變成一行瀑构,用列表會比較容易實現(xiàn)這一塊區(qū)域,對每一行列表 設置 min-width,當屏寬不夠刨摩,自然就會跳轉(zhuǎn)成兩行排列

inline-block元素的居中检碗,包括內(nèi)容的垂直居中與它本身位置的居中可以用下面幾條實現(xiàn)

而內(nèi)聯(lián)元素的水平居中,一般在父元素里設置

好了码邻,logo區(qū)終于初步完成折剃,后面只需要填充內(nèi)容進去就可以了,下面像屋,真正難以實現(xiàn)的塊就是主題說明的一行兩行隨心變了怕犁,我下意只以為跟slogan會一樣,不夠?qū)捵约壕吞D(zhuǎn)了嘛己莺,但是很難所想即所得奏甫,它只有一個主題,就一行區(qū)域凌受,要不夠也太難了點阵子,而且它不是本來就幾塊內(nèi)容,而是一塊內(nèi)容在手機屏顯示不夠才變成兩塊內(nèi)容胜蛉,一個神奇的屬性就出現(xiàn)了挠进,叫display的小朋友,既然你內(nèi)容一樣誊册,我就建兩部分一樣的內(nèi)容好了领突,一部分只有一行,一部分是兩行案怯,只是一行的內(nèi)容分布在兩行里君旦,超過多少屏寬,我就讓兩行這一部分display:none;而另一部分display:block;邏輯簡單,不過很難想到金砍,就會多做一些無用功局蚀,再一次說明,多寫恕稠,多練才能有解決問題的合理思維琅绅,代碼塊如下

二,這里引入了一個很重要的樣式谱俭,響應式頁面的精髓@media(至少在我目前所學的知識水平是這樣認識的)

好了奉件,這一塊的難點也算是解決了,最后我們就是要對主要內(nèi)容區(qū)products進行布局了昆著,看起來雖然占的頁面比例大县貌,但是結(jié)構(gòu)單一,做起來并不算太復雜凑懂,好吧煤痕,這只是我初步判斷,但是一旦填充圖片的時候接谨,讓我無論如何也舒服不起來摆碉,如果圖片只用div塊的樣式寫出來,倒是沒發(fā)現(xiàn)脓豪,一旦用img元素填充后巷帝,問題一大堆一大堆滴。

首先我是網(wǎng)絡找圖扫夜,寬高比例都不一致楞泼,很難在不限制高度的情況下,讓它們排成整齊的一排笤闯,圖片寬度一般用max-width:100%;樣式就可以實現(xiàn)隨著屏寬改變自適應堕阔,不會出現(xiàn)很難看的界面,但是高如果不限定絕對值颗味,就會把下一排的元素往下擠超陆,最后整個頁面會相當uncomfortable,尤其在寬屏一排顯示多張圖時浦马。在網(wǎng)絡上搜了不少建議时呀,都不大能理解,難道只能由設計師給我們設計好同樣比例的圖填充進去才能解決捐韩?

產(chǎn)品區(qū)退唠,同樣也引入@media來解決響應式頁面屏寬改變的顯示效果

寫樣式前的設計搞是這樣的

手機
平板
電腦

整個頁面的自適應也是按照這幾種客戶端來分類寫的。

三荤胁,寫這樣的頁面,如果全都加上box-sizing:border-box;代碼會更清晰些屎债。會省去對諸多塊的padding仅政,margin的加加減減垢油,這樣減少出錯的機會,默認width,height是content-box的寬高圆丹,一般兩個block元素margin會重疊滩愁,而inline-block元素margin是不重疊的.

content-box ,默認值辫封,標準盒子模型硝枉。widthheight只包括內(nèi)容的寬和高, 不包括邊框(border)倦微,內(nèi)邊距(padding)妻味,外邊距(margin)。注意: 內(nèi)邊距, 邊框 & 外邊距 都在這個盒子的外部欣福。 比如. 如果 .box {width: 350px}; 而且 {border: 10px solid black;} 那么在瀏覽器中的渲染的實際寬度將是370px;

尺寸計算公式:width = 內(nèi)容的寬度责球,height = 內(nèi)容的高度。寬度和高度都不包含內(nèi)容的邊框(border)和內(nèi)邊距(padding)拓劝。

border-box

widthheight屬性包括內(nèi)容雏逾,填充和邊框,但不包括邊距郑临。這是當文檔處于 Quirks模式 時Internet Explorer使用的盒模型栖博。注意,填充和邊框?qū)⒃诤凶觾?nèi) , 例如,.box {width: 350px; border: 10px solid black;}導致在瀏覽器中呈現(xiàn)的寬度為350px的盒子厢洞。內(nèi)容框不能為負仇让,并且被分配到0,使得不可能使用border-box使元素消失犀变。

這里的維度計算為:

width = border + padding + 內(nèi)容的? width妹孙,

height = border + padding + 內(nèi)容的 height

而在對block元素設置居中的時候获枝,它的寬高明確也是很重要的一點蠢正,如果只要水平居中的話,就設置margin-left:auto;margin-right:auto;這是塊級元素包含塊級元素的方式省店。塊元素垂直居中的設置也可直接上下margin或padding嚣崭。內(nèi)聯(lián)元素的垂直居中,需要明確height=line-height懦傍。

總之雹舀,對頁面整體把握不夠,不熟悉粗俱,顯得顧頭不顧尾说榆,需要學習的地方還有太多了,做一個靜態(tài)頁面也許不難,但是如果不做響應式布局签财,那就 OUT了串慰,加油吧,尤其是移動端的用戶越來越取代pc端唱蒸,那響應式頁面的掌握程度就直接影響了生產(chǎn)力呀邦鲫,熟能生巧,熟能生巧……

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末神汹,一起剝皮案震驚了整個濱河市庆捺,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌屁魏,老刑警劉巖滔以,帶你破解...
    沈念sama閱讀 221,888評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異蚁堤,居然都是意外死亡醉者,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,677評論 3 399
  • 文/潘曉璐 我一進店門披诗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來撬即,“玉大人,你說我怎么就攤上這事呈队“保” “怎么了?”我有些...
    開封第一講書人閱讀 168,386評論 0 360
  • 文/不壞的土叔 我叫張陵宪摧,是天一觀的道長粒竖。 經(jīng)常有香客問我,道長几于,這世上最難降的妖魔是什么蕊苗? 我笑而不...
    開封第一講書人閱讀 59,726評論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮沿彭,結(jié)果婚禮上朽砰,老公的妹妹穿的比我還像新娘。我一直安慰自己喉刘,他們只是感情好瞧柔,可當我...
    茶點故事閱讀 68,729評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著睦裳,像睡著了一般造锅。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上廉邑,一...
    開封第一講書人閱讀 52,337評論 1 310
  • 那天哥蔚,我揣著相機與錄音倒谷,去河邊找鬼。 笑死肺素,一個胖子當著我的面吹牛恨锚,可吹牛的內(nèi)容都是我干的宇驾。 我是一名探鬼主播倍靡,決...
    沈念sama閱讀 40,902評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼课舍!你這毒婦竟也來了塌西?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,807評論 0 276
  • 序言:老撾萬榮一對情侶失蹤筝尾,失蹤者是張志新(化名)和其女友劉穎捡需,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體筹淫,經(jīng)...
    沈念sama閱讀 46,349評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡站辉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,439評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了损姜。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片饰剥。...
    茶點故事閱讀 40,567評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖摧阅,靈堂內(nèi)的尸體忽然破棺而出汰蓉,到底是詐尸還是另有隱情,我是刑警寧澤棒卷,帶...
    沈念sama閱讀 36,242評論 5 350
  • 正文 年R本政府宣布顾孽,位于F島的核電站,受9級特大地震影響比规,放射性物質(zhì)發(fā)生泄漏若厚。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,933評論 3 334
  • 文/蒙蒙 一蜒什、第九天 我趴在偏房一處隱蔽的房頂上張望测秸。 院中可真熱鬧,春花似錦吃谣、人聲如沸乞封。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,420評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽肃晚。三九已至,卻和暖如春仔戈,著一層夾襖步出監(jiān)牢的瞬間关串,已是汗流浹背拧廊。 一陣腳步聲響...
    開封第一講書人閱讀 33,531評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留晋修,地道東北人吧碾。 一個月前我還...
    沈念sama閱讀 48,995評論 3 377
  • 正文 我出身青樓,卻偏偏與公主長得像墓卦,于是被迫代替她去往敵國和親倦春。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,585評論 2 359

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

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案落剪? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 13,759評論 1 92
  • 移動開發(fā)基本知識點 一.使用rem作為單位 html { font-size: 100px; } @media(m...
    橫沖直撞666閱讀 3,483評論 0 6
  • H5移動端知識點總結(jié) 閱讀目錄 移動開發(fā)基本知識點 calc基本用法 box-sizing的理解及使用 理解dis...
    Mx勇閱讀 4,524評論 0 26
  • 熱更新官方框架完成前端布局 結(jié)合CoreData,完成后臺布局 ARkit CoreML 原生3D游戲布局 補刀之...
    Laya_Egret閱讀 227評論 0 0
  • 榆錢樹下斑駁的光影 一會在這兒睁本,一會兒在哪兒 光影里的螞蟻 一只、兩只忠怖、三只…… 池塘里的荷葉 往左搖往右晃 亭子...
    三希水閱讀 110評論 0 1