-
padding-top百分比参照包含块的宽度(即父元素的width值)计算,而非父容器高度;需确保父元素width明确(如300px或50%),否则无效;常用于响应式视频容器等场景,须配合position:absolute实现内容贴满。
-
width和height在flex容器中仍生效,但作为flex-basis的后备值;当flex-basis未设置或为auto时起作用,否则被忽略;min-width/min-height及box-sizing会影响最终尺寸计算。
-
getBoundingClientRect返回CSS像素级浮点坐标,精度受设备像素比、缩放、亚像素渲染及浏览器实现影响,并非无限精确;比较时应使用容差判断而非严格相等。
-
JavaScript通过CanvasAPI操作<canvas>元素,需先获取2D/WebGL上下文,设置宽高属性,再调用绘图方法实现静态绘制、requestAnimationFrame动画循环及鼠标交互响应。
-
flex:00width与flex:1是flex简写,前者固定宽度不缩放,后者等比放大并吃掉剩余空间;二者需配合display:flex使用,且主内容需设overflow-y:auto和min-height:0才能正常滚动。
-
rem按钮移动端失效因根字体未动态适配屏幕变化;需监听resize/orientationchange/pageshow,用document.documentElement.clientWidth计算缩放比,设htmlfontSize并加节流与阈值,配合min-width、max()和clamp()保障交互与可读性。
-
HTMLselect多选必须添加multiple属性,否则即使按Ctrl/Cmd也仅单选;获取多选值须用selectedOptions而非value;表单提交需name加[]后缀,否则后端仅收最后一个值。
-
JavaScript对象操作核心方法包括创建(字面量、Object.create、Object.assign、class)、检查(hasOwnProperty、in、Object.hasOwn)、遍历(keys/values/entries/getOwnPropertyNames/getOwnPropertyDescriptors)及保护(freeze/seal/preventExtensions/defineProperty)。
-
跨域问题可通过CORS和代理服务器解决。CORS通过设置响应头如Access-Control-Allow-Origin允许指定源访问资源,适用于前后端协同配置的生产环境;对于复杂请求需处理OPTIONS预检。开发中常用代理解决跨域,如Vue/React配置devServer.proxy或将Nginx作为反向代理转发/api请求,使浏览器视为同源。选择方案时,CORS适合可控制后端的场景,代理则利于开发调试或无法修改服务头的情况,微前端建议统一网关处理。
-
使用CSSGrid可高效实现瀑布流布局,推荐采用grid-template-columns与gap属性控制自适应列数和间距,通过grid-row:span实现元素跨行;Flexbox需JS辅助模拟,适合简单场景。
-
行内样式破坏CSS机制导致维护灾难:脱离作用域/继承/层叠/复用,无法响应媒体查询或@layer,硬编码色值和重复样式难以归类抽象,动态内联更引发逻辑耦合与调试困难。
-
用before伪元素扩展点击区域是推荐方案,因其不新增DOM节点、保持语义与可访问性,且符合Tailwind设计意图;relative+绝对定位空div会破坏语义、干扰屏幕阅读器、易错位。
-
箭头函数不是语法糖,它没有自己的this、arguments、super、new.target,不能作为构造函数,不绑定this(继承外层词法作用域),无prototype,无arguments对象,返回对象需加括号,类字段中使用会导致this脱离实例上下文。
-
rgba()的alpha值必须为0–1小数,非百分比或整数;仅作用于单个颜色属性,与元素级opacity有本质区别;IE8需fallback方案。
-
prototype是函数的属性,用于实现继承和方法共享;实例的[[Prototype]]指向其构造函数的prototype,构成原型链查找机制;应只在prototype中添加方法或不可变默认值,避免共享引用类型数据。