-
应为每行表单项(如.form-row)设display:flex,label固定宽度+flex-shrink:0,input用flex:1+min-width:0;Grid布局更稳但需注意老版Safari兼容性;避免float/inline-block因设计逻辑不适用表单对齐。
-
const限制变量绑定而非值内容,故可修改对象属性或数组元素;let和const均有TDZ,访问前会报ReferenceError;推荐默认用const,仅需重赋值时用let。
-
JavaScript代码覆盖率反映测试执行时源代码的行、语句、分支、函数被运行的比例,用于发现逻辑盲区但不衡量测试质量;主流工具包括nyc、Jest内置支持、c8及浏览器端方案,启用后需结合人工分析覆盖结果。
-
会占用空间,但是否计入设定的width/height由box-sizing决定:content-box下border额外占空间,border-box下从内容区扣除,总宽高不变。
-
本文介绍如何通过JavaScript高效提取多个具有相同class的DOM元素所携带的data-id值,并统一构造成一个字符串数组,适用于动态数据采集与前端批量操作场景。
-
textContent安全替换文字内容:element.textContent="新内容",只处理纯文本、防XSS、清空子元素结构和事件监听器,IE9+全支持。
-
先通过CSS实现背景渐变与图片叠加以增强视觉层次和文字可读性。1.使用background属性将线性渐变置于图片前,实现从上到下的透明黑到深灰渐变覆盖图片;2.采用radial-gradient创建中心聚焦效果,并通过background-blend-mode控制颜色融合;3.利用多层背景逗号分隔,按顺序堆叠多个渐变与图片,如底部深色渐变遮罩便于文字展示。关键在于掌握堆叠顺序与透明度控制。
-
IE9及以下不支持HTML5表单属性和验证API,需用webshimpolyfill或手写submit拦截逻辑补全;html5shiv和Modernizr无法解决此问题。
-
meter元素无JavaScriptAPI取值,仅通过绑定的value属性或外部变量获取数据;其value为只读反射属性,修改不触发事件,也不参与表单提交,本质是单向显示控件。
-
函数柯里化是将多参数函数转换为一系列单参数函数,每次调用返回新函数直至所有参数传入,如curriedAdd(1)(2)(3);部分应用是固定部分参数生成新函数,仍可接收多个剩余参数,如double(3,4);两者调用方式、返回值和实现不同,柯里化用于逐步收集参数,部分应用用于简化函数调用。
-
常见原因是transform被后续CSS规则覆盖,导致浏览器无法追踪状态变化;需检查层叠优先级、显式声明transition-property、确保值类型匹配及单位一致,并用DevTools验证计算值。
-
答案:CSS的transition、transform和animation协同工作,transform定义元素空间变化,transition实现属性变化的平滑过渡,animation通过关键帧创建复杂自动动画;结合使用时应明确职责、避免冲突,并优先采用transform和opacity以提升性能。
-
CSS引入失败需四步排查:路径是否正确(优先绝对路径)、Network中状态码与Content-Type是否为200/text/css、link是否在head中且未被JS移除、选择器是否匹配或被覆盖。
-
懒加载是HTML5页面刚需,应优先用IntersectionObserver实现,并配loading="lazy"降级;对img/iframe用data-src,广告位需防伪懒加载,禁用自动发现并延迟加载SDK。
-
CSS径向渐变用radial-gradient()实现,至少需两个颜色,可指定形状(circle/ellipse)、尺寸(如farthest-corner)和位置(atxy),支持多色与色标控制,现代浏览器均兼容。