Rashomon
                                            Rashomon
                                        
                                    常见的几种布局: 文档流布局,浮动布局,定位布局,flex布局 html: ```javascript box ``` 水平居中: ```javascript .child{ width:200px; margin:0 auto; } ``` 垂直水平居中: 一:绝对定位 1. ```javascript .parent { position: relative; } .child { width: 200px; height: 200px; position:...
浮动的框可以向左或向右移动,直到他的外边缘碰到包含框或另一个浮动框的边框为止。由于浮动框不在文档的普通流中,所以文档的普通流的块框表现得就像浮动框不存在一样。浮动的块框会漂浮在文档普通流的块框上. 元素设置浮动后 display值自动变成了block。 清除浮动是为了清除使用浮动元素产生的影响。浮动的元素,高度会塌陷,而高度的塌陷使我们页面后面的布局不能正常显示。 清除浮动方法: 1. 父级div定义height; 2. 父级div 也一起浮动; 3. 常规的使用一个class; ```javascript .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } .clearfix { *zoom:...
BFC 就是块级格式上下文,是页面盒模型布局中的一种 CSS 渲染模式,相当于一个独立的容器,里面的元素和外部的元素相互不影响。创建 BFC 的方式有: 1.html 根元素 2.float 浮动 3.绝对定位 4.overflow 不为 visiable 5.display 为表格布局或者弹性布局 BFC 主要的作用是: 1. 清除浮动 2. 防止同一 BFC 容器中的相邻元素间的外边距重叠问题 3. 可以包含浮动元素 4. 不被浮动元素覆盖 5. 阻止父子元素的margin折叠...
```javascript class Scheduler { constructor() { this.tasks = [], this.usingTask = [] } add(promiseCreator) { return new Promise((resolve, reject) => { promiseCreator.resolve = resolve if (this.usingTask.length < 2) { this.usingRun(promiseCreator)...
W3C盒子模型 标准盒模型 width = content box-sizing:content-box,表示按照标准的盒模型显示 IE盒子模型 IE盒模型 width=border*2+padding*2+content box-sizing:border-box,表示按照IE盒模型来显示 区 别: IE的content部分把 border 和 padding计算了进去;
```javascript function cloneDeep(x) { const root = {}; // 栈 const loopList = [ { parent: root, key: undefined, data: x, } ]; while(loopList.length) { // 广度优先 const node =...
##### loader 加载器 loader是指webpack打包方案,对于很多文件例如less,icon,图片等webpack不知道如何打包,通过loader来告诉webapck如何打包,让 webpack 拥有了加载和解析非 JavaScript 文件的能力 在 module.rules 中配置,也就是说他作为模块的解析规则而存在,类型为数组 ##### Plugin 插件 plugin是指插件包,plugins里面的插件会帮助我们做一些其他的事情, 让 webpack 具有更多的灵活性,提升开发效率。 在 plugins 中单独配置。类型为数组,每一项是一个 plugin 的实例,参数都通过构造函数传入 对于loader,它就是一个转换器,将A文件进行编译形成B文件,这里操作的是文件,比如将A.scss或A.less转变为B.css,单纯的文件转换过程 plugin是一个扩展器,它丰富了wepack本身,针对是loader结束后,webpack打包的整个过程,它并不直接操作文件,而是基于事件机制工作,会监听webpack打包过程中的某些节点,执行广泛的任务。
我们目前把多个文件打包的做法让浏览器很难高效地缓存代码:在一个模块里改动一行代码也需要重新下载整个打包后的文件。随着HTTP/2的多路复用让请求变得不那么昂贵,我们可以选择把代码分割到小模块里,以更好地利用缓存,确保我们的应用高效地利用用户的带宽。 。随着JavaScript社区正在朝更小的、更专一的模块方向发展,给客户端提供未打包的文件也不太理想。除此之外,把文件合并在一起可以更好地压缩,节省带宽。 https://www.jianshu.com/p/a9c2f9ff0f5f
Transitions动画功能与Animations动画功能的区别:虽然它们两者都是通过改变元素的属性值来实现动画效果,但是Transitions只能通过指定属性的开始值与结束值,然后在这两者之间进行平滑过渡的方式来实现动画的效果,因此不能实现较复杂的动画效果;而Animations功能可以通过定义多个关键帧以及每个关键帧中元素的属性值来实现复杂的动画效果 https://www.cnblogs.com/guoqing26/p/5244620.html
1、touchstart 当手指放在屏幕上触发。 2、touchmove 当手指在屏幕上滑动时,连续地触发。 3、touchend 当手指从屏幕上离开时触发。 4、touchcancel 当系统停止跟踪时触发,系统什么时候取消,文档没有明确的说明