-
自定义元素命名必须含连字符且全小写,如date-picker;constructor仅初始化,DOM操作须在connectedCallback中执行;样式必须注入ShadowDOM;attributeChangedCallback需配合observedAttributes监听属性变更。
-
download属性仅对同源链接生效,跨域、BlobURL等场景会失效;真正可控的下载需用URL.createObjectURL配合a.download,或服务端设置Content-Disposition:attachment响应头。
-
顶部公告条需用position:fixed悬浮,body加padding-top避免遮挡,移动端适配box-sizing和内边距,localStorage持久化关闭状态,支持随机/轮播文案,兼容IE11与无障碍访问。
-
原生<inputtype="month">兼容性差、样式不可控、无校验和范围限制;推荐用flatpickr(12KB,支持月视图/本地化/禁用逻辑)或手写双下拉(年+月select)实现可靠月选择器。
-
background-attachment:fixed在iOS和多数安卓WebView中被浏览器主动禁用以保性能,伪元素+position:fixed是可靠替代方案,需设top/left/right/bottom为0、z-index:-1、background-size:cover与center配合,并避免transform/filter干扰。
-
HTML5通过async和defer属性优化脚本加载:async适用于独立脚本(如统计代码),下载不阻塞解析但执行时机不确定;defer适用于依赖DOM的脚本(如轮播图),按顺序在DOM解析后执行;二者均不解决图片压缩、CSS阻塞等其他性能问题。
-
答案是通过合理使用组合选择器和命名规范来控制CSS优先级。应避免依赖高权重选择器如ID或!important,转而采用类组合与BEM等命名约定,提升样式的可维护性;通过父级类名限定作用范围,减少全局污染;团队中统一规范并借助工具检测,能有效降低优先级冲突,使CSS结构更清晰稳定。
-
img元素永远不匹配:empty,因其为替换元素且始终存在于DOM;可靠方案是onerror添加broken类,配合img.broken::after伪元素显示占位符,并注意object-fit下的定位错位问题。
-
富媒体摘要必须使用JSON-LD格式的<scripttype="application/ld+json">,且结构化数据需与页面可见内容严格一致;Article类型须含headline、datePublished、author等字段,image须为可访问的数组,datePublished等日期须为带时区的ISO格式。
-
外边距合并不是bug而是CSS规范行为:垂直相邻块级元素的margin-top/margin-bottom会取较大值合并。典型场景有相邻兄弟元素、父子塌陷、空元素自合并;推荐用BFC(如display:flow-root)、统一设margin-bottom、gap或微调padding/border来隔离。
-
最稳妥做法是使用<asidearia-label="该话题已于2024年6月15日关闭讨论"><p>已关闭讨论<timedatetime="2024-06-15">2024年6月15日</time></p></aside>,语义清晰、屏幕阅读器友好且利于SEO。
-
viewport是移动端页面正常显示的底线,必须写在<head>最前面且内容为width=device-width,initial-scale=1,缺一不可;否则iOSSafari默认按980px渲染,文字过小、布局错乱。
-
行为验证码需先调用SDK的verify()获取有效ticket再提交表单,后端必须调用厂商验证接口校验三元组参数,且注意字段名、时间同步和Referer/IP白名单配置。
-
展开运算符(...)是JavaScript中将可迭代对象解包为独立值的底层能力,用于数组合并、函数传参、浅拷贝、类数组转换等,但不支持深拷贝、null/undefined展开及原型属性继承。
-
正则表达式是JavaScript字符串处理的基础设施,必须掌握RegExp对象及match()、test()、replace()等方法;字面量简洁但不可拼接变量,构造函数支持变量但需双写反斜杠;不同场景应选用match、test、exec或replace。