前端技术文章
-
纯CSS无法直接美化原生单选框,需隐藏input并用label+伪元素模拟;批量“选中所有”单选框在逻辑上不可行,因同name单选框组天然互斥。325 收藏 -
Less的data-uri()函数需静态路径、不支持变量或构建别名,SVG易因BOM/XML声明静默降级,Safari不支持content:url(data:),CSP须配置img-src'self'data:。325 收藏 -
KeepAlive最大缓存实例数必须通过max属性显式设置正整数,否则内存持续累积;超出时按LRU自动淘汰最久未用实例,并需配合include/exclude精准控制缓存范围及组件内手动清理副作用。325 收藏 -
Chrome105+、Safari15.4+、Firefox121+已默认支持:has()伪类,可实现子元素反选父元素,需用>、+、~等关系符精确控制层级,且不可用于选择器中间或与伪元素连用。324 收藏 -
生成器函数调用后返回一个Generator对象,它既是迭代器(含next()方法)又是可迭代对象(支持for...of和展开运算符),内部维护执行上下文,仅在调用next()时推进并暂停于yield。324 收藏 -
网页标题 background-attachment:fixed失效主因是body未占满视口,需同时设置html,body{height:100%;margin:0;padding:0;}且background-attachment必须写在body上。324 收藏 -
clearTimeout用于取消未执行的setTimeout定时器,需传入其返回的timerID;未保存ID则无法取消,重复调用或传入无效值均无效果但不报错。324 收藏 -
用reduce解析CSV可行但非最直观,适合边读边构建结构;简单CSV可直接split(",")配合reduce生成对象,复杂CSV需状态机解析引号与转义,推荐split("\n")后map+reduce组合实现更清晰健壮。324 收藏 -
Day.js比Moment.js轻因支持tree-shaking、无依赖、纯函数式设计且插件按需引入;核心仅约2KB,不修改原生Date,仅用format和加减时无需插件。324 收藏 -
inherit无效最常见原因是用于不可继承属性(如margin、display),浏览器直接忽略;或父元素该属性计算值为initial/unset,子元素继承“空值”。324 收藏 -
HTML结构本身不参与关键词排名计算,但错误结构会导致搜索引擎无法识别内容重点;真正起效的是语义标签、内容层级与位置信号共同构建的「可理解性」。323 收藏 -
分片迭代通过将大任务切分为小块并用setTimeout让出主线程,保障页面响应性。它避免单线程阻塞导致UI假死,适用于顺序不敏感、中等数据量场景,核心是固定块大小、索引控制范围、setTimeout(…,0)调度。323 收藏 -
Object.fromEntries不支持嵌套解析,需手动实现nestedAssign:先按数组语法(key.endsWith('[]'))或点号路径(key.split('.'))分类处理entries,逐层创建对象或推入数组,注意类型兼容与空值语义。323 收藏 -
article标签本身不直接提升SEO排名,但错误使用会损害SEO和无障碍体验;它向搜索引擎和读屏软件表明内容可独立索引与分发,必须包裹真正具备独立语义的内容(如博客正文、新闻稿、单条评论),且每个article必须含且仅含一个有意义的h1–h6标题。323 收藏 -
CSScubic-bezier()仅控制属性值随时间变化的速率,不改变运动路径;如配合translateX()或opacity使用,元素仍沿直线运动,无法实现弧线轨迹。323 收藏