CSS3阴影box-shadow属性使用总结
使用 CSS3 的 box-shadow 属性,可以实现给元素添加阴影的效果。
语法:
box-shadow: offset-x offset-y blur spread color inset;
浏览器渲染页面过程
浏览器从服务器获取到 HTML 文档后,HTML 解释器开始对 HTML 自上而下解析,构建 DOM Tree(DOM 树)。CSS 解释器解析 CSS,构建 CSS Rule Tree(CSS 规则树)。文档解析完成后,将 CSS Rule Tree 附加到 DOM Tree 生成 Render Tree(渲染树)。而后,Layout(布局)会从渲染树的根节点开始遍历,输出渲染树上每个节点在页面上的具体大小和位置。 继续阅读
JS DOM事件汇总
onanimationstart 事件在 CSS 动画开始播放时触发。
onanimationiteration 事件在重复 CSS 动画时触发。
onanimationend 事件在 CSS 动画完成时触发。
ontransitionend 事件在 CSS 转换完成时触发。
onbeforeprint 事件在页面即将被打印或打印对话框出现前触发。
onafterprint 事件在页面已开始打印,或打印对话框已关闭时触发。 继续阅读
JS获取页面滚动条位置的方法(含浏览器测试)
在 Javascript 中,获取页面滚动条位置的 DOM 属性有:document.body.scrollTop / document.body.scrollLeft、document.documentElement.scrollTop / document.documentElement.scrollLeft,但存在浏览器兼容性问题,以下是测试结果:
1、document.body.scrollTop / document.body.scrollLeft
① 存在文档声明(<!DOCTYPE html>)
谷歌浏览器:正常
360浏览器:正常
火狐浏览器:0
IE浏览器:0 继续阅读
什么是BFC(块格式上下文)?
BFC,英文全称:Block Formatting Context,即“块格式化上下文”,是 CSS2.1 规范中的一个概念,定义了浏览器对于 Web 页面中的独立的渲染区域的布局规则。
规范原文是这样描述的,“A block formatting context contains everything inside of the element creating it that is not also inside a descendant element that creates a new block formatting context”,翻译成中文就是“一个块格式上下文包含创建该上下文的元素的所有子元素,但是不包括创建了新的块级格式上下文的子元素的内部元素”。 继续阅读
HTTP响应状态码有哪些?
HTTP 响应状态码可以归为五大类:
1.信息响应 (100–199):表示请求已被服务器接受,需要继续处理。服务器一般不会返回此类响应,除非服务器直接指定响应状态码。
2.成功响应 (200–299):表示请求成功。服务器通常会返回请求预期的响应头或实体。
3.重定向消息 (300–399):表示请求的资源已被移动到新的位置,需要客户端请求新地址以完成请求。
4.客户端错误响应 (400–499):表示请求无法被服务器处理。
5.服务器错误响应 (500–599):表示服务器在处理请求的过程中发生了错误。 继续阅读
JS AJAX函数封装
AJAX,英文全称:Asynchronous JavaScript and XML,即异步的 JavaScript 和 XML,主要用于在与服务器交换数据时无需重新加载页面。AJAX 的实现是通过创建 XMLHttpRequest 对象,向服务器发送请求,再根据服务器返回的响应决定客户端接下来的动作。 继续阅读
webpack性能优化建议
webpack是一个非常出色的、流行的前端模块打包工具,但由于webpack底层的文件模块依赖分析机制,当用于开发大项目时,打包速度会不是很理想,这时候就需要进行优化。
可以通过下面的这些方法来优化webpack。 继续阅读
JS 空数组与0、false相等
在对空数组与 0、false 进行相等操作符比较时,结果会返回 true,但在 if 语句中判断空数组则是 true,令人感觉造成 false 等于 true 的假象。
console.log([] == 0); // > true console.log([] == false); // > true if ([]) { console.log('true'); } else { console.log('false'); } // > true
JS面向对象编程与对象继承实现
一、对象的创建
1、工厂方法(函数声明):
function createUser(name) { const user = { name, sayName: function() { console.log(this.name); } } return user; } const user = createUser('Johnson'); user.sayName(); // -> Johnson