前端技术文章
-
:has()不能选取父元素,仅能基于后代或兄弟是否匹配条件来筛选自身;它不反转匹配目标,仅实现条件渲染,如form:has(.error)为form自身设样式,而非其父级。422 收藏 -
因为.container的width始终为100%,但实际渲染宽度由断点媒体查询中的max-width决定;例如在≥1200px视口下,computedwidth显示1140px,正是@media(min-width:1200px){.container{max-width:1140px}}生效所致。422 收藏 -
JavaScript代码覆盖率衡量的是测试执行时源码中被实际运行的语句、分支、函数和行,而非测试数量;它不保证质量,但能暴露未触达的逻辑盲区如else分支、catch块等。422 收藏 -
drop-shadow()不能可靠实现霓虹发光效果,因它不支持多层独立控制、无法精准衰减光晕、且在Safari和Firefox中渲染不稳定;真霓虹必须用text-shadow或box-shadow配合hsl()高亮度值与逐层递减透明度。422 收藏 -
font-variant-numeric:tabular-nums仅使数字等宽,不控制对齐;需配合text-align、支持等宽数字的字体及table-layout:fixed等设置才能实现表格中数字精准对齐。422 收藏 -
根本原因是flex默认按项目整体分配空间,文字长度动态变化导致图标无法锚定末尾;需用inline-flex替代flex,文字设min-width:0和overflow:hidden,图标设flex:00auto,才能真正紧贴文字末尾。422 收藏 -
CSSGrouping选择器用逗号分隔多个独立选择器,表示逻辑“或”匹配,而非层级关系;必须用于统一设置不同类型、类名、状态元素的相同样式,漏逗号会导致误解析为嵌套选择器。422 收藏 -
thead和tbody对打印的帮助主要体现在提升可读性和优化布局,特别是在处理长表格时。以下是详细的解释:1. 提升打印可读性在打印HTML表格时,如果表格内容很长,浏览器默认会将整个表格作为一个整体进行打印,这可能导致页面上出现大量空白或表格被截断。使用和标签可以更好地控制表格的结构,使打印时表格能够分页显示,即每一页都包含表头(),而数据部分(
仅用<thead>和<tbody>标签本身不会让表头跨页重复;必须配合CSS的display:table-header-group和@mediaprint规则,且效果依赖浏览器渲染引擎,Chrome/Edge较可靠,Firefox有bug,Flyingsaucer需额外启用-fs-table-paginate。422 收藏文章 · 前端 | 2星期前 | 前端 · 性能优化 · javascript · 浏览器性能 · PerformanceObserver · JSON解析 PerformanceObserver 浏览器性能 Long Task 主线程卡顿
页面偶发点击无响应,先别急着把锅甩给网络。本文用 PerformanceObserver 记录 50ms 以上长任务,结合 Chrome Performance 面板定位 JSON.parse 和同步渲染造成的主线程阻塞,再用分片处理和 requestIdleCallback 做可验证的修复。421 收藏
font的face属性已被HTML5彻底废弃,现代浏览器忽略其样式解析,必须改用CSSfont-family控制字体;中文字体名需加引号,末尾须保留通用字体族,推荐使用<span>或类选择器替代<font>标签。421 收藏
不能直接用transition:height实现面板展开动画,因为height:auto无法参与过渡;应使用max-height过渡或JS动态设置精确高度。421 收藏
Number.isFinite严格校验数字类型且为有限值,不转换参数;全局isFinite先转数字再判断,存在隐式转换。前者安全明确,后者易引发意外结果。421 收藏
br标签是语义化换行标记,仅用于同一段落内需强制折行的场景,如地址、诗歌、歌词;不可替代段落结构或用作布局工具,否则损害可访问性、SEO及响应式表现。421 收藏
CSS不能选择父元素因浏览器渲染机制限制,反向查找影响性能;可通过:has()伪类、结构调整或JavaScript间接实现。421 收藏
计算属性实现动态权限按钮组,本质是将权限判断逻辑抽离为响应式、可复用函数;通过Pinia将后端权限数组转为Set或嵌套对象并响应式包裹,再用computed封装按钮配置或语义化布尔状态,结合路由meta与守卫、指令形成完整权限防线。421 收藏