女王控的博客

前端

164 篇文章

CSS not伪类用法一览

优先级 如果对所有 CSS 伪类的优先级(也就是我们常说的选择器权重)进行分类,你会发现总共只有两个级别,0 级和 10 级。 0 级指没有优先级,1 级是标签选择器,10 级是类选择器,属性选择器,100 级是 ID 选择器。 伪类,伪类,既然带有“类”字,自然其优先级好类选择器一致。 但是,其中有个特殊,那就是逻辑伪类的优先级都是 0。例如::not(),:is(),:where()等。 逻辑伪类整个选择器语句的优先级是由括号里面内容决定的,不同的逻辑伪类规则不一样,其中:not… »

iframe和HTML5 blob实现当前页预览

实现方式 通常会新建一个另外的独立页面,专门用来接收传入的前端代码,通过新开窗口或者嵌入 iframe 页面的方式达到最终效果,其中可能会用到 HTML5 postMessage 等通信技术。 然而实际上,对于这个预览效果,如果代码是我们自己控制,而不是全权交给用户编辑的,是没有必要新建一个另外的预览页面,亦或者是在新窗口(新标签页)中浏览的。可以直接在当前页面构建一个文档上下文,实现更加方便快捷的预览。 核心原理 需要注意的是,当我们使用 new Blob… »

JS检测CSS属性浏览器是否支持

原生 CSS.supports 语法 返回布尔值 true 或者 false,用来检测是否支持某 CSS 属性。 实际开发的时候,需要使用到对 CSS 检测场景,往往都是针对低版本的 IE 浏览器,例如 IE9-IE11,低版本的 IE 浏览器并不支持浏览器原生支持的 CSS.supports()方法。 JS 赋值再取值的检测方法 当浏览器不支持某个 CSS 属性的时候,就算你强制设置,获取的计算值也不会是你设置的属性值 注意点 getComputedStyle… »

轻量级网站构建实践

需求背景 最近在做表单分享的需求,类似于问卷调查,需要在三端(桌面端、移动端、微信端)同时兼容 技术方案 我出的方案:采用原生语法新框架写,考虑到首屏渲染的问题未采用 主管出的方案:采用后端渲染模板的方式,最大化首屏加载速度,但有以下问题: 后端渲染对服务器 CPU 的要求较高 本来打算用 oss 来减少后端渲染,但考虑到表单经常变化,且分享的链接要尽可能的保持不变,这就限制了 oss… »

构建多平台轻量化组件的实践

需求背景 需求背景接上文 记一次组件打包为链接的实践 框架搭建接上文 Webpack 脚手架搭建笔记——记一次新项目搭建 组件轻量化 在将客服组件上线后,由于未考虑到加载的组件包的大小,尤其是初始加载的包比较大,即使是压缩过初始加载也有 600 多 k… »

0%