圣杯布局 三个部分必须都设置向左浮动。先写 middle,让页面先渲染中间的重要区域。content 设置左右内边距是为了给 left 和 right 留出空间。middle 设置width: 100%,而 left 和 right 的width属性值分别为 content ...
迭代器模式
基础概念 迭代器模式:提供一种方法顺序访问一个聚合对象中各个元素,而又不需暴露该对象的内部表示。适用性:访问一个聚合对象的内容而无需暴露它的内部表示。支持对聚合对象的多种遍历。为遍历不同的聚合结构提供一个统一的接口(即,支持多态迭代)。参与者: - Iterator - 迭 ...
适配器模式
基础概念 适配器模式:将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。适用性:你想使用一个已经存在的类,而它的接口不符合你的需求。你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些可能不一 ...
浏览器是如何渲染一个页面的?
渲染流程 JavaScript: 构建 DOM + CSSOMStyle: 构建 Render Tree DOMDocument Object Model 通过在内存中表示文档结构,将网页连接到脚本或编程语言。 DOM 使用逻辑树来表示一个文档结构。树 ...
min-*、max-*、*的优先级
本文参考链接理解css中min-width和max-width,width与它们之间的区别联系 width与height的情况是一致的,下面以width为例进行说明。 min-width比width大时 min-width的优先 ...
备忘录模式
基础概念 备忘录模式:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。参与者: - Memento(备忘录) - 备忘录存储原发器对象在某一时刻的内部状态。原发器根据需要决定备忘录存储原发器的哪些内部状 ...
命令模式
基础概念 命令模式:将一个命令封装为一个对象,从而使你可用不同的命令对客户进行参数化。适用性:抽象出待执行的命令,以参数化某对象。在不同的时刻指定、排列和执行命令。支持取消操作。支持修改日志,这样当系统崩溃时,这些修改可以被重做一遍。参与者: - Command - 声明 ...
跨域问题常见解决方案
我个人将跨域问题分类为两种:网络请求跨域和非网络请求跨域。 网络请求跨域 网络请求跨域的解决方案有:图像imgJSONPCORSNginx反向代理、Nodejs中间件SSE、Web Socket(它们是服务器推送技术,无跨域问题)详细信息在这里 非网络请 ...