多學習HTML5的小伙伴在學習的過程中都遇到過這樣的問題:為什么感覺能做出來的頁面,然而做起來卻總是諸多問題?千鋒廣州小編告訴你,其實這是正常現象,誰也不能幾天就成為大師,你的實踐還太少了!練習多了,經驗多了,靜態網頁自然也就手到擒來。
靜態的網頁其實就是由兩部分組成,一個是底層結構HTML,另外一個就是負責修飾結構的CSS。其實書寫靜態網頁就像小時候過家家,首先得把需要的家庭成員找齊了,即首先考慮要做一個什么樣的網站,例如一個綜合類網站包括:搜索框、導航、文章類別模塊、文章標題以及一部分廣告板塊;一個博客主頁包括:導航、文章縮略、文章搜索、文章導航以及沒有顯示但可能會有的評論區。
寫頁面的時候是有劇本的,這個劇本指網頁設計圖,或者某個現有網頁,建議大家在模仿網上現有網頁的時候利用瀏覽器自帶的截圖功能,把整個完整的頁面截取下來,QQ瀏覽器,360瀏覽器都可以做到。這樣的優點在于可以利用PS自己一步步測量數據、切圖都做到親力親為,并且做到了頁面數據的精準度,而不是隨意的給數據,或者是利用瀏覽器的F12功能查看原網頁的數據。
按照設計好的劇本接著就可以找對應的成員了,例如百度網頁從上往下分為導航頭部、中間logo和表單、尾部二維碼和文字,相對來說頁面的整體布局是比較簡單的,當然還有很多不同類型的頁面,布局要復雜一些。
當看到一個網頁時,需要在腦海當中對頁面進行一個簡單的掃描,如果把頁面當成一張紙,要怎么樣從大到小一點點分割。當有了初步的認識之后,就可以把這些東西轉化成HTML結構,所有不同顏色的框框在寫的時候用的都是DIV。
從上往下,從大到小一點點先把某個模塊以不同的顏色色塊利用代碼堆積出來。保證大的模塊布局沒問題之后,在往里面放一些小的東西,比如圖片img、表單form input、文字、超鏈接a、列表ul li,這時候簡單的頁面結構就出來了。
接下來要把寫好的結構進行美化,不然頁面就會一團亂麻,沒有美感,而網頁當中潤色部分是用CSS來做的。這個環節需要更加細心,例如百度首頁導航紅色框整體在綠色框的右邊,需要給紅色框添加float:right;紅色框里面文字的字號大小,字體,字體顏色,水平間距,垂直間距都需要一點點寫。如果在寫的過程中遇見了問題,可以借助Chrome瀏覽器的調試功能,哪里錯了用箭頭點哪里,結構看左邊,CSS看右邊,看看CSS屬性有沒有顯示,有沒有劃掉,有沒有黃色報錯等等。
在做頁面時,需要大量的練習,才可以熟能生巧。一個頁面寫完之后,總結一下這個頁面在書寫過程中遇到了哪些問題,是怎么解決的,為什么這樣解決,深入思考這個模塊的這個效果可不可以用其他的方法來實現,以做到舉一反三。
千鋒廣州小編建議大家在HTML5的過程中輪與實踐要相結合,配合實戰項目講解網站頁面布局,一定要學好HTML、CSS,基礎打好了,才能更有信心面對之后的挑戰。
/ Luiu
最近跟的一款項目是HTML5手游,在這個項目中遇到并解決了諸多問題,也學習到了很多項目開發過程中需要注意的事情。這個項目自立項到現在已經過了5個多月,如今項目研發已經過了早期的忙亂階段,于是借此機會梳理下思緒,為了能夠更好的完成以后的工作。如果能給想進入HTML5這個領域的新團隊一些參考,那也是一件極好的事情。
這款項目是我們團隊接到的第一款HTML5類型的游戲合約,在此前團隊一致在致力于傳統回合制手游研發。因此團隊可以說在這個領域幾乎是從零開始(當然一開始的時候我們不這么覺得),所以在研發進行到中期的時候遇到了很多影響效率的問題。
其中影響最大的問題之一就是——界面適配
HTML5手游這個品類說白了就是把頁游裝進一個殼里,本質上他還是一個頁游,擁有很多頁游的特性。它是在頁游框架的基礎上,將UE對移動設備做了優化。因此該類游戲在后期將會根據渠道需求發行多個版本,包括直接在網頁運行(電腦網頁和手機網頁)、在手機端運行、在平板電腦設備上運行。這樣就會帶來一個嚴重的問題——兼容性問題。由于HTML5跨平臺的特性,很容易產生兼容問題。最明顯的一個就是界面適配問題,最基本的要做到UI在不同長寬比的屏幕下均能完全展示,在這個基礎上再考慮對主流長寬比的屏幕進行特殊處理,優化用戶體驗。
界面適配的方案一:約束比例縮放(主流方案)
方案描述:該是保持界面中元素的相對位置不變,在不同長寬比的屏幕中進行整體縮放。
這種方案會將界面分為上中下3個區域,將中間的主要區域視作一個窗口根據屏幕比例進行縮放。在縮放的過程中保證窗口長寬比不變,保持長或者寬任意一個維度占滿屏幕就可,不強求整體鋪滿屏幕。
方案優勢:處理簡單,且最終效果還可以。可以保證UI在不同長寬比的屏幕下均能完全展示,并且UI布局不變。
最終效果如圖:
圖中黑色部分為空白區域,雖然對界面的美觀有一定影響,但是影響不大。如果把中間的區域設計為窗口的樣式,會使界面看起來更自然。
界面適配方案二:全屏鋪滿
方案描述:該方案同樣要將界面分為上中下3個區域,只是對中間那塊主要區域采用了不同的處理方式。這種方案會要求中間區域底板鋪滿屏幕,所有處于該底板上的元素坐標需要根據界面的長寬比進行計算,并且界面中的列表,底框等元素的大小也要根據屏幕的長寬比進行計算。
方案優勢:該方案可以解決方案一種空白區域的問題,在移動設備上顯示更加美觀。
該方案的最終效果如圖:
這個方案實現較方案一來說更加復雜,并且最終效果不好把控。容易造成不同比例屏幕下UI出現重疊,超出邊界等問題。如果處理不好,最終效果反而不如方案一。
從目前市面上的HTML5游戲來看,基本采用方案一就可滿足當前用戶需求。采用方案二會增加項目研發時長,并且增加人力成本。
我們這個項目使用的是白鷺引擎,在該引擎的UI編輯器中有個約束坐標的功能。使用該功能,可以將元素的坐標相對屏幕四邊或者中心進行約束,確保縮放后界面布局隨之改變。建議界面中的元素更多的采用約束的形式,而不是絕對坐標。
白鷺引擎中的約束功能:
為什么建議使用約束的形式呢?這是因為約束的方案更有利于保證界面中元素的邊距,居中,四邊對齊等布局。這樣當用戶在兩個相似界面之間切換時,相同的元素位置也相同。不會出現切換時由于相同元素坐標的微小差異造成的晃動感。并且該方案更方便約定團隊成員在拼界面時的規范,只需要約定相同元素的邊距,元素互相之間的間距等。再者,如果采用界面適配方案一時使用約束功能的話,后期若要改為方案二,也會更加方便一些。
規定UI標準對于保證UI的最終效果十分重要。在項目開始之初,就需要設計好界面中的通用控件的樣式和規格,包括通用按鈕、列表、標簽等。并且不同功能標簽的字體大小、色值、樣式(加粗、描邊)等也要有統一的標準。除了以上這些控件的規格和樣式,還需要規定游戲中各種彈窗的樣式和規格,否則必然會出現彈框大小參差不齊,影響UI美觀。
UI就是游戲的臉面,是給用戶留下第一印象最直觀的內容。因此UI中的各個細節必須保證統一美觀,這樣才能給用戶留下好印象。
我們使用HTML5, CSS3,甚至Bootstrap設計網站的時候,有些方面是必須考慮的,比如字體大小,標題大小,行間距,每行字數,字體,顏色,背景圖片和文字的搭配,圖標,留白和布局......所有的這些,都不是隨隨便便的,講究一定的原則。而這些原則通常我們為參考一些網站。下面就列舉這些網站。
HTML5和CSS3常用參考網站?
瀏覽器渲染符合HTML5標準:http://necolas.github.io/normalize.css/
Google字體:ttps://www.google.com/fonts
柵格:http://www.responsivegridsystem.com/
扁平顏色:http://flatuicolors.com/
選擇顏色值:http://www.0to255.com/
icon圖標:http://ionicons.com/
css: https://css-tricks.com/
js的CDN:http://www.jsdelivr.com/
一個CSS屬性在各個瀏覽器的兼容性: http://caniuse.com/
創建favicon: http://realfavicongenerator.net/
壓縮圖片尺寸:http://optimizilla.com/
CSS文件最小化:www.minifycss.com
JS文件最小化:hTp://www.minifyjavascript.com/
檢測html代碼:http://validator.w3.org/
文/丁向明
做一個有博客的web前端自媒體人,專注web前端開發,關注用戶體驗,加我qq/微信交流:6135833
http://dingxiangming.com
*請認真填寫需求信息,我們會在24小時內與您取得聯系。