CSS3阴影box-shadow属性使用总结

使用 CSS3 的 box-shadow 属性,可以实现给元素添加阴影的效果。
语法:

box-shadow: offset-x offset-y blur spread color inset;

继续阅读

发表在 CSS | 标签为 , , , , | CSS3阴影box-shadow属性使用总结已关闭评论

浏览器渲染页面过程

浏览器从服务器获取到 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 事件在页面已开始打印,或打印对话框已关闭时触发。 继续阅读

发表在 JavaScript | 标签为 , , , | JS DOM事件汇总已关闭评论

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 继续阅读

发表在 JavaScript | 标签为 , , | JS获取页面滚动条位置的方法(含浏览器测试)已关闭评论

什么是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”,翻译成中文就是“一个块格式上下文包含创建该上下文的元素的所有子元素,但是不包括创建了新的块级格式上下文的子元素的内部元素”。 继续阅读

发表在 CSS | 标签为 , | 什么是BFC(块格式上下文)?已关闭评论

HTTP响应状态码有哪些?

HTTP 响应状态码可以归为五大类:
1.信息响应 (100–199):表示请求已被服务器接受,需要继续处理。服务器一般不会返回此类响应,除非服务器直接指定响应状态码。
2.成功响应 (200–299):表示请求成功。服务器通常会返回请求预期的响应头或实体。
3.重定向消息 (300–399):表示请求的资源已被移动到新的位置,需要客户端请求新地址以完成请求。
4.客户端错误响应 (400–499):表示请求无法被服务器处理。
5.服务器错误响应 (500–599):表示服务器在处理请求的过程中发生了错误。 继续阅读

发表在 HTTP | 标签为 , , | HTTP响应状态码有哪些?已关闭评论

JS AJAX函数封装

AJAX,英文全称:Asynchronous JavaScript and XML,即异步的 JavaScript 和 XML,主要用于在与服务器交换数据时无需重新加载页面。AJAX 的实现是通过创建 XMLHttpRequest 对象,向服务器发送请求,再根据服务器返回的响应决定客户端接下来的动作。 继续阅读

发表在 JavaScript | 标签为 , , | JS AJAX函数封装已关闭评论

webpack性能优化建议

webpack是一个非常出色的、流行的前端模块打包工具,但由于webpack底层的文件模块依赖分析机制,当用于开发大项目时,打包速度会不是很理想,这时候就需要进行优化。
可以通过下面的这些方法来优化webpack。 继续阅读

发表在 JavaScript, Node.js | 标签为 , | 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

继续阅读

发表在 JavaScript | 标签为 , , , , , | JS 空数组与0、false相等已关闭评论

JS面向对象编程与对象继承实现

一、对象的创建
1、工厂方法(函数声明):

function createUser(name) {
    const user = {
        name,
        sayName: function() {
            console.log(this.name);
        }
    }
    return user;
}
const user = createUser('Johnson');
user.sayName();
// -> Johnson

继续阅读

发表在 JavaScript | 标签为 , , , , , | JS面向对象编程与对象继承实现已关闭评论