-
掌握JSON序列化与反序列化的高级技巧,能有效处理复杂数据。1.使用replacer函数可过滤敏感字段(如password)、转换日期为ISO格式,并预处理循环引用,避免序列化错误。2.reviver函数在反序列化时可自动将日期字符串还原为Date对象,或重建类实例,提升数据恢复精度。3.针对循环引用,可通过WeakSet跟踪已见对象,返回“[Circular]”标识,防止JSON.stringify报错。4.原生不支持Map、Set、Symbol和函数的序列化,但可用Array.from转换Map和Se
-
scroll-behavior:smooth最常见失效原因是未加在html根元素上,而误设于body或容器;必须写为html{scroll-behavior:smooth;},且需确保html无overflow:hidden等限制、页面有足够滚动高度、锚点href指向唯一合法id。
-
浮动图片撑不开父容器是因为float使元素脱离文档流导致父容器高度塌陷;需用overflow:hidden或display:flow-root清除浮动,注意IE不支持后者;百分比宽度应改用calc()并设box-sizing:border-box;文字环绕时给图片加display:block或vertical-align解决行高错位;响应式图片布局应优先使用flex或grid而非float。
-
Promise的then方法链式调用的核心是每次返回新Promise,其状态由回调返回值决定:普通值则fulfilled,Promise则跟随其状态,抛错则rejected。
-
border-style实际常用值为none、solid、dashed、dotted;double及3D类(groove、ridge等)因渲染差异大、语义模糊,线上基本不用;hidden仅用于表格边框冲突,对普通元素无效。
-
不能,HTML签名需用canvas捕获触控轨迹并禁用默认交互,而非依赖input;需处理事件节流、插值补点、存坐标序列而非base64,并过滤误触。
-
本文详解如何将原本通过#fragment锚点控制渲染的外部SVG,迁移到内联场景下,并精准控制显示其中某个具名<g>(如#multicolor-onLight),避免ID冲突与默认只渲染首个元素的问题。
-
去掉ul的圆点和缩进需同时设置list-style:none、margin:0、padding:0;li间距问题多源于ul的margin-bottom或inline-block空隙,推荐用font-size:0或gap控制;全局reset副作用大,应按需局部重置。
-
<picture>标签本身不接受CSSwidth/height控制,因其会破坏响应式逻辑;应通过容器层约束尺寸并用object-fit和object-position控制填充与裁切。
-
HTML中无需添加keywords标签,因Google自2009年、百度自2014年起均不再将其用于排名;应删除该冗余标签,转而确保title、description和viewport三个现代SEO核心标签准确存在且规范。
-
flex-direction:row-reverse使子元素沿水平主轴从右到左排列,主轴起点与终点互换,DOM顺序不变但视觉顺序反转;适用于聊天气泡等需逆序显示的场景,而非单纯右对齐。
-
当HTML<select>的value属性值包含空格(如全名"JohnDoe")时,若未正确使用双引号包裹value,浏览器会将其解析为多个独立属性,导致PHP仅接收到第一个单词。根本原因在于HTML属性值未被合法引号包围。
-
repeat()严格按参数生成轨道数:首参为重复次数,次参为轨道定义;如repeat(3,1fr)生成3条1fr轨道,非“三等分”。
-
outline不参与盒模型,不占布局空间,绘制在border外,用于聚焦提示、调试或替代边框,结合outline-offset可调整视觉距离,不影响元素尺寸与页面结构。
-
hover动画卡顿或不触发,主因是浏览器未提前提升图层;应默认设will-change:transform,用transform替代top/left,SVG填色改用fill="currentColor",transition需明确属性并设初始值,间距统一用gap或margin-right:last-child。