-
WebComponents是浏览器原生API,含CustomElements、ShadowDOM和HTMLTemplates三部分;CustomElements需用短横线命名并继承HTMLElement;ShadowDOM提供样式封装,支持::part()和:host暴露接口;template内容需cloneNode使用,内联脚本不执行。
-
break-words能强制长单词/URL换行但非万能,需配合max-w-full、block等类及避免white-space:pre等冲突样式才生效。
-
containerqueries在旧版浏览器中不报错而是静默忽略,Chrome110+、Firefox113+、Safari16.4+才原生支持,Safari16.4需加-webkit-前缀,@supports检测必须用(container-type:inline-size)。
-
h1-h6标签按重要性递减排列,正确使用可提升可读性与SEO;每个页面建议仅用一个h1突出主题,h2划分主章节,h3及以下逐级细化内容,避免跳级;标题应包含关键词但自然通顺,与title语义一致;禁用多个h1、CSS伪装标题或无关关键词;结构清晰有助于搜索引擎索引与精选摘要展示。
-
使用grid-auto-rows:minmax(100px,auto)可使每行卡片最小高度为100px并随内容自动扩展,结合grid-template-columns:repeat(auto-fit,minmax(250px,1fr))实现列数自适应,gap控制间距,容器内卡片等宽分布且响应式调整;在移动端可将minmax最小值改为180px、减小gap和调整字体以优化显示效果,整体布局简洁灵活,真正实现内容驱动的响应式卡片墙。
-
通过Canvas和JavaScript可在HTML5中实现水印功能,首先创建canvas绘制文字并转为base64图像,再将其设为页面背景或固定定位的透明图层,覆盖全屏且不影响交互,常用于提示和防泄漏。
-
JavaScript中对象需实现迭代器协议(即拥有返回{value,done}对象的[Symbol.iterator]方法)才支持for...of等操作;普通对象默认不满足,可通过生成器函数简洁实现,自动处理状态与惰性求值。
-
基础轮播需用HTML结构+CSSflex布局与overflow:hidden+JS手动管理currentIndex和transform位移;自动轮播用setInterval,手动切换后需clearInterval并重置;移动端滑动须记录touchstart/end的clientX判断方向,差值超50px才触发切换并preventDefault;动画必须用transform+opacity配合transition,禁用left/margin-left;无缝循环靠DOM克隆首尾项并逻辑索引映射实现。
-
优先用aria-label于纯图标按钮,aria-labelledby于引用隐藏标签;role="button"仅用于非原生按钮的模拟;aria-hidden="true"禁止包裹交互元素;aria-live="polite"用于非紧急更新,“assertive”仅限关键中断。
-
HTML倒计时精度取决于JavaScript定时机制与系统时钟同步策略;应以服务端时间戳为基准,用Date.now()实时计算剩余时间,避免setInterval累加误差,并通过requestAnimationFrame优化渲染流畅度。
-
::selection仅支持color、background-color等5个属性,因浏览器为保障可访问性强制限制;Safari需15.4+且禁用prefers-reduced-motion/forced-colors才生效;iOS/Android移动端基本不可靠,推荐JS模拟或交互反馈替代。
-
:first-of-type和:last-of-type用于选择父元素内同类标签的第一个和最后一个元素,可精准设置首尾元素样式。例如去除首段上边距、末段下边距,为列表首项添加图标、末项加粗,或为导航首个链接设左圆角、末个设右圆角。二者基于元素类型匹配,非整体子元素顺序,若某类型仅一个元素,则两者均匹配该元素,兼容性良好,IE9+及现代浏览器支持。
-
em单位按父元素“计算后”的font-size值计算,而非CSS声明值;例如父元素font-size:1.2rem且html为16px,则1em=19.2px,需查DevTools的Computed面板确认。
-
访问父路由页面空白是因为未配置默认子路由,应在children中添加path:''的子路由并redirect至首个子页面,如{path:'',redirect:'overview'},同时确保父组件含<router-view>。
-
contain:paint不防止视觉溢出,仅隔离绘制;需配合layout且容器必须有明确尺寸(如min-height)才生效,单独使用无效。