-
text-shadow语法要求四值顺序为水平偏移、垂直偏移、模糊半径、颜色,错误顺序或缺值将失效;支持多层逗号分隔、none清除、0模糊实现描边;高亮需控制模糊与透明度;存在性能、对比度、深色模式适配及可访问性问题;复杂场景需DOM方案替代。
-
位图索引通过将权限映射为整数的二进制位实现高效校验,固定枚举编号、单用户仅需8字节存储、零查询位运算判断权限,超64项时分段管理,内存节省95%以上。
-
闭包是函数记住其创建时的词法环境,关键在于内层函数是否引用并持续访问外层变量。典型误区包括误认所有嵌套函数都是闭包、混淆闭包与语法关键字、等同闭包与内存泄漏;for循环中var声明的i在setTimeout输出5,源于函数作用域共享与变量提升;let、IIFE或setTimeout传参可解决;闭包会阻止垃圾回收被引用的变量,需及时移除监听器、避免过度捕获、必要时手动置null;ChromeDevTools的Scope面板中Closure分组可查看实际捕获的变量。
-
应将表单公共样式用@apply抽成.form-input等自定义类并置于@layercomponents中,避免被PurgeCSS误删;@apply仅支持Tailwind原生工具类,不可嵌套自定义类;需显式声明dark:变体以适配暗色模式。
-
<progress>标签需同时设置value和max属性才能正确显示进度,如<progressvalue="65"max="100">;仅设value会导致解析异常;兼容IE需降级为<div>模拟,动态更新须校验边界并用requestAnimationFrame实现平滑动画。
-
<p>关键在于监听dragover事件并调用event.preventDefault();再通过event.clientY与target.getBoundingClientRect()计算offset=event.clientY-rect.top,若offset小于高度一半则为上方,否则为下方。</p>
-
HTML加载慢主因非体积大,而是阻塞渲染、错误路径、base64内联、缺失压缩及file://协议限制;应通过Network面板定位瓶颈,用本地服务器替代双击打开。
-
原生对话框(alert/confirm/prompt)虽零依赖但阻塞主线程、无样式定制且兼容性差,现代项目应优先使用语义化可定制的<dialog>元素或轻量封装方案。
-
使用CSSGrid的grid-template-columns配合auto-fit和minmax可实现响应式图片墙:.image-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;}auto-fit会自动填充并拉伸列以适配容器,避免空白;minmax(200px,1fr)确保每列最小200px、最大等比分配。大屏显5列、平板3列、手机1列,无需媒体查询。与auto-fill不同,auto-
-
grid-template-areas字符串必须满足三硬条件:每行引号内单词数一致、区域名仅含ASCII字母数字连字符、所有grid-area值均在字符串中显式出现,否则网格退化为单列流。
-
使用LiveServer插件是VSCode中运行HTML文件的最佳方式,安装后右键选择“OpenwithLiveServer”即可在浏览器中实时预览并自动刷新页面。
-
list-style-type仅对<ol>有效,常见值有decimal、lower-roman、upper-alpha和none;自定义序号需用counter-reset、counter-increment和::before;缩进应调padding-left而非text-indent;移动端序号截断需检查overflow和父容器min-width。
-
需用JavaScript实现网页倒计时:一、Date计算时间差并setInterval每秒更新;二、data-*属性解耦目标时间;三、requestAnimationFrame提升精度;四、padStart补零格式化;五、通过时区标记(如Z或+08:00)或时间戳规避本地偏差。
-
flex-grow控制子元素在容器有剩余空间时的扩展比例,flex-shrink决定空间不足时的收缩行为。默认flex-grow:0不扩展,flex-shrink:1可等比收缩。通过设置不同值可实现内容区自动填满、防止输入框压缩等布局效果。推荐使用flex简写如flex:1(等价于flex:110%)或flex:10auto,并配合min-width:0解决收缩失效问题,从而构建自适应弹性布局。
-
true+1===2成立,因为JavaScript在数值运算中将true隐式转换为1,再执行加法得2;加号优先数值转换而非字符串拼接,且布尔转数值规则为true→1、false→0。