知识碎屑--CSS选择器和计算属性值
选择器简单选择器: 全局选择器 ID 选择器 类选择器 伪类选择器 属性选择器 元素选择器 伪元素选择器 复合选择器: 相邻兄弟选择器+ 后代选择器 子选择器> 合并选择器 通用兄弟选择器~ 符号不计算权重 层叠声明冲突:同一个样式,多次声明到同一个元素 声明冲突是一个现象 层叠:解决声明冲突的过程,浏览器自动处理(权重计算) 1.比较重要性重要性从高到低: 作者样式表中的 !important -> 作者样式表中的普通样式 -> 浏览器默认样式表 一般不用 important,后面要修改只能用更高级的选择器,更靠后的顺序但是都要加 !important 才能覆盖 2.比较特殊性当相同重要的时候,比较特殊性 看选择器,选择器权重越高,越特殊 算法: 生成一个四位数 从高到低分别是 内联样式记 1 id 选择器个数 类元素/伪类元素选择器个数 元素选择器/伪元素选择器个数 四位数不能进位 3.比较源次序重要性,特殊性都无法比较 靠后的胜出 4.应用重置样式表,覆盖浏览器默认样式,保证不同浏览器效果不同 直接找重置样式表 reset.css 5.继承子元素会继承父元...
知识碎屑--文件路径
url 路径配置 相对路径:相对哪个文件,一般写相对路径就是相对当前这个文件,从当前这个文件所在的文件夹开始搜索 格式 folder/xxx/xx.xx 绝对路径: 是从整个项目的根路径开始出发 格式 /folder/xxx/xx.xx
浏览器页面切换
浏览器 tab 切换切换事件浏览器会暂停当前标签页渲染和 JavaScript 执行(尤其是与页面渲染相关的任务),以便将资源转移到新的标签页 ex: Tab1 -> Tab2 Tab1 会经历以下状态: visibilitychange 事件: 浏览器会发出一个 visibilitychange 事件,指示当前页面是否可见 浏览器会暂停不必要的操作,例如暂停动画、网络请求、定时器 (setTimeout,setInterval),但这并不是强迫性的 Tab2 会经历以下状态: 浏览器会为 Tab2 激活并恢复相关的渲染和脚本执行。 Tab2 也会触发 visibilitychange 事件,但是 Tab2 页面中, document.hidden 会被设置为 false 资源管理 资源释放: 浏览器会逐渐释放页面不再活跃时使用的部分资源,为了节省内存和处理能力 继续后台任务: 某些操作仍然会在后台运行,例如 web workers 或持久化的后台同步任务,可以使用 visibilitychange 事件来处理这些任务,确保他们在标签页切换时继续或暂停 关...
开发规范--添加新功能与减少BUG
做项目必看注意事项Git项目必须做 git 版本控制,不然添加一个新的功能,随时可能会把项目搞崩溃,毕竟程序员的世界出错太正常了,而且很有可能是一个依赖并不会报错,最后所有依赖集成之后一起来报错 所以做版本控制已经成为做项目的必备,这也是为什么很多博客魔改会有 博客魔改有风险,如果博客魔改出问题了又没有备份,可通过此项目查看基础源码进行回滚 但是最好的办法就是自己在做项目的过程中,随时遵守约定式提交,易于出 BUG 做版本回退,而不是从零开始 添加新功能 の 参考 没有头绪 0.查官方文档,官方文档会推荐你怎么做 没有头绪 1.查他人博客,基于大佬造好的轮子,结合自己的需求魔改 没有头绪 2.去看他人的源代码,理解其中的原理和奥秘 学会检索,不要一字一字的查看所有的内容,检索自己最需要的内容 添加功能,由易到难,可以先做官方的 demo,然后添加一点小功能,把功能跑通,然后在做别的复杂功能,而且先把官方 demo 跑通,说明方法的正确性 遇到 の BUG 首先,程序就跟英语拼写一样,请确保你的每一个字母都是正确的,这往往需要极致的细心 [ 这一条,决定了某些编程范式一...



