对html5的看法,为什么要在项目中运用它?
h5是新的html标准。
语义化标签 header footer sidebar article等 对浏览器非常友好,有利于搜索引擎优化。
新增的表单控件 num date 等也非常的方便。
新增的video audio标签用来做媒体播放也很方便。
h5中的媒体查询可以用来做响应式布局。
canvas可以再页面中绘图,比如调用百度地图或高德地图的接口,需要使用canvas容器作为画板绘制地图。
css的预编译工具?
比较流行的有less,sass.而Less和Sass之间的区别:
1).实现方式:
Less是基于JavaScript,是在客户端进行处理的;Sass是基于Ruby,是在服务器端进行处理的。
2).定义变量:
Less定义变量时使用前缀:@;Sass定义变量时使用前缀:$
Less和Sass的相同之处:
1).变量:可以单独定义一系列通用的样式,在需要的时候进行调用。
2).混合(Mixins):class中的class(讲一个class引入到另一个class,实现class与class之间的继承),还可以带参数的混合,就像函数一样。
3).嵌套:class中嵌套class,从而减少代码的重复。
4).运算:提供了加减乘除四则运算,可以做属性值可颜色的运算。
解释css sprites。并说如何使用。
图片懒加载,
1.>在页面上的未可视区域可以添加一个滚动条事件,判断图片位置与浏览器顶端的距离与页面的距离,如果前者小于后者,优先加载。
2.>如果为幻灯片、相册等,可以使用图片预加载技术,将当前展示图片的前一张和后一张优先下载。
3>如果图片为css图片,可以使用CSSsprite,SVGsprite,Iconfont、Base64等技术。
4.>如果图片过大,可以使用特殊编码的图片,加载时会先加载一张压缩的特别厉害的缩略图,以提高用户体验。
5.>如果图片展示区域小于图片的真实大小,则因在服务器端根据业务需要先行进行图片压缩,图片压缩后大小与展示一致。
CSS3动画
过渡:transition:1s;过渡时间。
变形:transform:skew(-30deg);倾斜30度。
翻面效果:景深:perspective()800px-1200px;
旋转轴:默认x轴:rotateX()、y轴:rotateY()、z轴:rotateZ()。
立体盒子:transform-style:preserve-3d。
什么不建议使用css import指令。
因为使用@import引用的文件只有在引用它的那个css文件被下载、解析之后,浏览器才会知道还有另外一个css需要下载,这时才去下载,然后下载后开始解析、构建render tree等一系列操作。 浏览器在页面所有css下载并解析完成后才会开始渲染页面,因此css @import引起的css解析延迟会加长页面留白期。 所以,要尽量避免使用css @import而尽量采用link标签的方式引入。
.link和@import的区别是?
两者都是外部引用CSS的方式,但是存在一定的区别:
1:link是XHTML标签,除了加载CSS外,还可以定 义RSS等其他事务;@import属于CSS范畴,只能加载CSS。
2:link引用CSS时,在页面载入时同时加载;@import需要页面网页完全载入以后加载。
3:link是XHTML标签,无兼容问题;@import是在CSS2.1提出的,低版本的浏览器不支持。
4:ink支持使用Javascript控制DOM去改变样式;而@import不支持。
css
选择符:
通配选择器,标签选择器,类选择器,ID选择器,简单属性选择
可继承属性
font-size font-family color
优先级
用!important可以改变优先级别为最高,其次是style对象,然后是id > class >tag ,另外在同级样式按照申明的 顺序后出现的样式具有高优先级。
新增伪类
p:last-of-type 选择其父元素的最后的一个P元素
p:last-child 选择其父元素的最后子元素(一定是P才行)
p:first-of-type 选择其父元素的首个P元素
p:first-child 选择其父元素的首个p元素(一定是p才行)
p:only-child 选择其父元素的只有一个元素(而且这个元素只能是p元素,不能有其他元素)
p:only-of-type 选择其父元素的只有一个p元素(不能有第二个P元素,其他元素可以有)
Angularjs的优点?
1.完善:是一个比较完善的mvc框架,包含模板,数据双向绑定,路由,模块化,服务,过滤器等而且自带了丰富的指令
2.google维护的:谷歌维护的有保障
3.社区活跃
4.可以非常好的和 ionic配合
wabpack打包的流程?
通过entry 配置入口文件。
output 指定输出的文件。
使用各种loader处理css js image等资源,并将它们编译打包成浏览器可以解析的内容等。
使用npm run dev 运行本地开发环境的项目
nom run build 将项目打包压缩生成生产环境的下的代码
nodejs的概念?
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。
Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。
Node.js 的包管理器 npm,是全球最大的开源库生态系统。