多学习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小时内与您取得联系。