首页 > 编程 > HTML > 正文

html5页面布局怎么做

2020-03-22 19:24:40
字体:
来源:转载
供稿:网友
本篇文章主要是说一些html5的界面布局注意问题,从而达到更好地html5页面布局。

推荐课程:HTML教程

首先,拿到一个界面UI设计,需要先对界面进行分块,分成几部分开发。h5有个特性,就是语义化布局,我的布局中也使用到了,可能受以前做firefox os项目的影响,这个项目对h5的语义化还是使用听充分的,这种语义化使用有的好处我就不说了(结构明了),但是,这种布局在IE9以下,IE8 IE7中,就不怎么好了,它们不认这些标签,在这些版本中就深深的体会了一把什么是div+css布局,这种布局就不会带来标签不识别的问题了。

2.块分好了,如果要兼容IE地版本,选择div+css布局,开始具体布局。在布局中,position属性就显得很重要,div元素位置如果不需要进行调整,按照盒模型顺排下来可以,就不用进行设置,取默认值static,如果要进行偏移,设置为relative,元素不会脱离文档流。在一个元素上,还有其他的元素也在它的占位上的某个位置,那么外层的div设置为relative,它的位置上的元素就用absolute来定位,并且给top:0;left:0来进行偏移; 这里,元素进行偏移时,使用怎么的单位很重要,对于相对于界面,要在界面某个位置的元素,界面宽度width,left和top使用%来偏移,这样,在任何分辨率的屏幕上,元素都在相对于界面相同的位置上,使得元素在任何显示器上都能正常显示。但是,如果对于一个元素快,里面有其他的元素组成,他们组成了一个一体的布局,并且位置不规整,那么内部的元素请使用absolute进行布局,并且top和left请使用rem进行布局,这样在任何分辨率下,元素块虽然显示大小不同,但是元素块的相对位置不变,元素块一直是一个整体。另外,如果一个元素是absolute元素,它里面还有元素,请使用relative,并且使用rem为单位,这样,这个元素 就是一体的,是个整体,在任何分辨率下都是那样的布局整体。

3.同一行的元素块,如果分成几个部分,那么最外层元素使用relative布局,里面的使用position:relative;display:inline-block;width:20%的比例式布局(这里也可以考虑使用flex布局),通过left。top来调整子元素块的位置,在不同分辨率时,调整left,top实现自适应。如果分块的元素里面还有子元素,接着进行分块,并且元素宽度使用%来定义。

4.关于自适应,不同尺寸的显示器,分辨率不同,找出不同分辨率下位置变化的元素,根据@media screen进行位置的微调,其实需要微调的元素,很多是top为rem为单位的元素,left为百分比的,在每种分辨率下位置左偏移位置不变,为了做好自适应,布局界面时让尽可能少的元素相对于界面的位置不稳定。在做自适应的时候,注意各种分辨率的写法,如果用到了max-width,那么顺序应该重大往小的写,这样界面就能使用到最合适的尺寸。

5.自适应的调试通过调整分辨率实现,做为互联网产品,浏览器兼容性的测试很重要,这时候IE就很有优势,IE11浏览器,有IE5 IE7 IE8 IE9的模式,可以直接测试,还有IE tester工具。但是chrome和firefox就惨了,目前只有在线工具,收费的,免费也是有限的,并且国外网站,国内哪个慢啊。 Spoon Browser Sandbox总得来说,这个工具还可以,通过安装插件,插件模拟器允许安装各种版本浏览器,进行测试,这里有个坑,就是他的插件在windows7上可以安装使用,在windows10上安装不了。

BrowserShots这个工具需要你能把你的网页发布到公网上,在远端服务器上运行了,发送截图给你,但是每天发布的截图数量有限,并且只能免费一个月。

IE NetRenderer这个是对IE浏览器进行测试,有了IE11,意义不是特别大,有的浏览器还是测试不出来。

在说个测试中遇到的坑。firefox浏览器21.0版本,对绝对定位的元素,box-align:end和通常的使用方式有差异,解决方法是在原本的div结构中,在添加一层div,使用relative定位,再使用这个box-align:end属性,但是父级div的高度需要进行调整,总之,这个版本很不同,根据实际情况进行处理吧。

6.说说h5的canvas和css的animation,深深的体会了一把动画,如果是几个元素的联动,还是乖乖使用div和 css的linear的animation吧,如果是线性的动画,使用canvas,其实canvas就是在一个容器上,调用接口定时的去重绘,canvas中还不支持skew属性,没法实现形变。animation中的transform-origin: 50% 50%

我原本以为只是在0%的时候设置就全部生效,如果动画位置变换了,不在是默认的中心点位置,要在每个进度进行设置。jQuery的animation()接口,貌似都可以用css的animation实现,animation-fill-mode: forwards;属性很重要,对于一些动画效果。如果想要更多动画效果,好好了解下贝塞尔曲线很有必要。

如果要实现自适应,canvas的width和height也使用%进行设置。

插入部分做的效果。

以上就是html5页面布局怎么做的详细内容,更多请关注 其它相关文章!

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表