美文网首页
前端基础搬运工-Web API模块

前端基础搬运工-Web API模块

作者: 我家媳妇蠢蠢哒 | 来源:发表于2019-04-25 10:40 被阅读0次

三、Web API模块

基础部分

1. 要你出一套适应不同分辨率,不同终端的前端实现方案你有什么思路?

  - [ ] 1. 流式布局:

        使用非固定像素来定义网页内容,也就是百分比布局,通过盒子的宽度设置成百分比来

        根据屏幕的宽度来进行伸缩,不受固定像素的限制,内容向两侧填充。这样的布局方式,就

        是移动web 开发使用的常用布局方式。这样的布局可以适配移动端不同的分辨率设备。

        1. 响应式开发:

        那么 EthanMarcotte 在2010 年 5月份提出的一个概念,简而言之,就是一个网站能

        够兼容多个终端。越来越多的设计师也采用了这种设计。

        CSS3中的 Media Query(媒介查询),通过查询 screen 的宽度来指定某个宽

        度区间的网页布局。

        超小屏幕(移动设备) 768px以下

        小屏设备 768px-992px

        中等屏幕 992px-1200px

        宽屏设备 1200px 以上

        由于响应式开发显得繁琐些,一般使用第三方响应式框架来完成,比如bootstrap 来

        完成一部分工作,当然也可以自己写响应式。

2. px em rem 取用选择依据?

  - [ ] 1. px 像素(Pixel)。绝对单位。像素px是相对于显示器屏幕分辨率而言的,是一

        个虚拟长度单位,是计算机系统的数字化图像长度单位,如果 px要换算成物理长度,需要

        指定精度 DPI。

        1. em是相对长度单位,相对于当前对象内文本的字体尺寸。如当前对行内文本的字

        体尺寸未被人为设置,则相对于浏览器的默认字体尺寸。它会继承父级元素的字体大小,因

        此并不是一个固定的值。

        1. rem是 CSS3新增的一个相对单位(root em,根em),使用 rem 为元素设定字

        体大小时,仍然是相对大小,但相对的只是HTML根元素。

        1. 区别:IE无法调整那些使用 px作为单位的字体大小,而em 和rem可以缩放,rem

        相对的只是HTML根元素。这个单位可谓集相对大小和绝对大小的优点于一身,通过它既

        可以做到只修改根元素就成比例地调整所有字体大小,又可以避免字体大小逐层复合的连锁

        反应。目前,除了 IE8及更早版本外,所有浏览器均已支持rem。

3. Zepto和jQuery的区别?

  - [ ] Zepto相对jQuery更加轻量,主要用在移动端,jQuery也有对应的jQuerymobile移动端框架。

实际工作部分

1. 移动端touch事件判断滑屏手势的方向?

  - [ ] 当开始一个touchstart事件的时候,获取此刻手指的横坐标startX和纵坐标startY;

        当触发touchmove事件时,在获取此时手指的横坐标moveEndX和纵坐标moveEndY;最后,通过这两次获取的坐标差值来判断手指在手机屏幕上的滑动方向。

        思路:用touchmove的最后坐标减去touchstart的起始坐标,X的结果如果正数,则说明手指是从左往右划动;X的结果如果负数,则说明手指是从右往左划动;Y的结果如果正数,则说明手指是从上往下划动;Y的结果如果负数,则说明手指是从下往上划动。

        具体代码如下:

            var mybody = document.getElementsByTagName('body')[0];

            //滑动处理

            var startX, startY, moveEndX, moveEndY, X, Y;

            mybody.addEventListener('touchstart', function(e) {

                e.preventDefault();

                startX = e.touches[0].pageX;

                startY = e.touches[0].pageY;

            });

            mybody.addEventListener('touchmove', function(e) {

                e.preventDefault();

                moveEndX = e.changedTouches[0].pageX;

                moveEndY = e.changedTouches[0].pageY;

                X = moveEndX - startX;

                Y = moveEndY - startY;

                if ( X > 0 ) {alert(‘向右’);}

                else if ( X < 0 ) {alert(‘向左’);}

                else if ( Y > 0) {alert(‘向下’);}

                else if ( Y < 0 ) { alert(‘向上’);}

                else{alert(‘没滑动’); }

            });

2. 移动端对图片优化有哪些方式,怎么实现?

  - [ ] 懒加载,使用CSS Sprites合并为一张大图,首先从图片格式方面着手,webp(google官方网址)是谷歌推出的一种图片格式,优点在于同等画面质量下,体积比jpg、png少了25%以上,去掉无意义的修饰,使用矢量图替代位图。

        按照HTTP协议设置合理的缓存。

        详见链接 http://web.jobbole.com/81766/

3. rem布局中的尺寸是怎样计算的,实际举例说明一下?

  - [ ] 其实rem布局的本质是等比缩放,一般是基于宽度,试想一下如果UE图能够等比缩放,假设我们将屏幕宽度平均分成100份,每一份的宽度用x表示,x = 屏幕宽度 / 100,如果将x作为单位,x前面的数值就代表屏幕宽度的百分比。

相关文章

网友评论

      本文标题:前端基础搬运工-Web API模块

      本文链接:https://www.haomeiwen.com/subject/zxragqtx.html