-
Vue.js子组件通过$emit触发自定义事件实现子传父通信,父组件用@监听并接收参数,推荐kebab-case命名,支持多参数或对象传参,结合v-model可实现双向绑定,需注意事件名拼写、执行时机及避免循环更新。
-
使用标准HTML表格语义标签(<thead>+<tbody>)并配合@mediaprint样式,可让浏览器或PDF生成工具在分页时自动在每页顶部重复渲染表头,无需JavaScript或复杂hack。
-
WebWorkers是HTML5提供的API,可在后台线程运行脚本以避免阻塞主线程。通过创建Worker脚本、实例化Worker对象并使用postMessage通信,实现如耗时斐波那契计算等任务,确保页面流畅。
-
JavaScript中隐式类型转换在布尔、字符串和数值上下文中自动发生。1.布尔上下文中,false、0、""、null、undefined、NaN转为false,其余如[]、{}均为true;2.字符串拼接时,+操作符将非字符串转为字符串,如"5"+3得"53",空数组转为空字符串;3.数学运算中,true转1,false转0,null转0,undefined转NaN,字符串按规则转数字,如"10"-5得5;4.对象参与运算时,优先调用valueOf()获取原始值,否则调用toString(),如对象{
-
本文介绍如何在获取浏览器摄像头权限后自动截取一帧画面,并将其保存为PNG文件,支持以用户邮箱命名文件,全程无需点击操作,同时兼顾画面稳定性与用户体验。
-
position:fixed在视差滚动中常失效,因其锚定视口、脱离文档流,不响应父容器的transform或scroll变化,导致背景层卡死;应改用absolute+transform或requestAnimationFrame+getBoundingClientRect动态计算。
-
答案:CSSGrid与绝对定位结合时,需设置相对定位的包含块以实现精确定位。通过在Grid单元格内使用position:relative容器包裹position:absolute元素,可在指定区域叠加标签、蒙版等;Grid负责整体布局,absolute实现局部覆盖,配合z-index控制层级,避免错位或溢出,适用于响应式设计中的悬浮元素布局。
-
background-color:rgba()仅使父元素背景透明,子元素不受影响;需整体透明用opacity,精准控制则分别设置各属性的rgba();毛玻璃效果需backdrop-filter配合transparent背景。
-
role="region"仅在内容具独立语义、需用户聚焦且无原生语义标签时使用,必须配aria-label/labelledby;它不触发通告,动态更新需配合aria-live;框架中应加于稳定容器并确保焦点可达。
-
table-layout控制列宽计算方式:auto模式需等内容加载完测量,导致卡顿;fixed模式快且可强制截断,但需显式设宽;border-collapse:collapse合并边框,禁用border-spacing;text-align与vertical-align分别控制水平与垂直对齐;display:table-cell用于等高、垂直居中等布局场景。
-
overflow-y:scroll为什么有时没效果直接加overflow-y:scroll却看不到滚动条?大概率是容器没设高度,或者内容根本没溢出。CSS滚动条只在「内容高度超过容器高度」时才可能触发,而scroll只是强制显示滚动条轨道(哪怕没内容可滚),但前提是容器本身得是个有明确高度的“盒子”。必须给容器设置height或max-height,比如height:200px;仅用min-height不行父元素不能是display:flex且未设align-
-
闭包是Vue和React状态管理的底层依赖机制,支撑响应式追踪、Hook状态记忆及跨组件状态共享,开发者需警惕解构失联、依赖遗漏和内存泄漏等闭包陷阱。
-
HTML5语义化标签正确使用可同步提升SEO与性能,错误嵌套或伪语义化反而损害二者;懒加载需避开首屏核心图;结构化数据须依附真实语义结构;首屏内容必须原生HTML存在。
-
display:none使transition失效,因其立即将元素从渲染树移除,中断所有样式计算;应改用visibility+opacity、max-height或transform+opacity组合实现过渡动画。
-
子容器不占父容器高度是因浮动导致父容器高度塌陷,需在最后一级浮动子元素的父级上清除浮动;display:flow-root可替代clearfix建立BFC,flex/grid布局更推荐彻底规避问题。