-
Sass颜色函数如darken()和lighten()基于HSL动态调整亮度,需避免多层嵌套调用;自定义px-to-rem()函数可统一响应式缩放,提升可维护性。
-
ES6模块导出的是绑定而非值,加载在编译时完成且不支持条件导入;需用import()动态加载;exportdefault为匿名导出,具名导出需按名匹配;Node.js中需配置"type":"module"或使用.mjs后缀;绑定机制导致变量修改实时同步。
-
relative定位以元素自身原始位置为基准,通过position:relative配合top/right/bottom/left实现偏移,元素仍占文档流空间,不依赖父容器定位。
-
浮动与定位元素重叠本质是层叠上下文与文档流冲突,解决核心是明确层级关系而非仅调z-index;浮动属文档流,定位元素脱离文档流,覆盖与否取决于层叠上下文。
-
JavaScript是网页的执行引擎,负责交互与动态功能;浏览器通过script标签加载执行,推荐defer/async避免阻塞;DOM操作需确保元素已加载;fetch替代XHR但需手动处理凭证和错误;真实项目难点在于时机、状态与错误边界控制。
-
WebSocket连接失败主因是服务端未启动、协议不匹配或浏览器拦截;需核对ws/wss协议、检查Network中101状态码、确保后端正确响应升级请求,并避免file://协议下使用。
-
根本原因是表单控件默认content-box且各浏览器对border、padding、font-size、line-height渲染不一致,尤其select/button受系统UI影响;仅box-sizing:border-box不够,须重置margin、vertical-align、font-family、font-size、padding、border等属性,并针对伪元素(如::-webkit-inner-spin-button、appearance)做兼容处理,避免硬设height,改用paddin
-
答案:防止表单重复提交需前后端结合,前端通过禁用按钮和提交状态标志提供即时反馈,后端则利用令牌机制、幂等性键、数据库唯一约束及业务状态校验确保数据安全,二者协同实现用户体验与系统可靠性的平衡。
-
事件循环先执行同步任务,再处理异步回调;宏任务如setTimeout后,微任务如Promise.then优先执行,确保高响应性,输出顺序体现任务优先级差异。
-
固定定位图像必须用position:fixed并显式设置至少两个方向偏移(如top:20px;right:30px;),配合z-index控制层级,用vw/vh或媒体查询适配响应式,图像尺寸需用max-width或object-fit保真,避免width:100%拉伸失真。
-
初学CSS响应式布局的关键在于掌握flex-wrap、grid-auto-flow、auto值的正确用法及媒体查询的设计逻辑。flex默认不换行,需显式设flex-wrap:wrap;grid需先定义template再用auto-flow;auto非万能,应多用minmax()和fr;媒体查询应基于内容断点、移动优先、整体优化。
-
:first-of-type选择父元素中某类型第一个子元素,如p:first-of-type选中首个p;:last-of-type则选中该类型最后一个子元素,如p:last-of-type选中末个p;两者均仅在同类型标签内按顺序匹配,忽略其他标签类型影响。
-
将响应式布局改为固定宽度布局的核心是删除所有流式相关CSS并锁定容器宽度:删掉viewport缩放控制、清除百分比/相对单位、移除媒体查询、覆盖框架容器断点、重置图片iframe的max-width。
-
JavaScript单线程执行意味着同一时间只能处理一个任务,导致耗时操作会阻塞页面响应;为优化体验,浏览器通过async和defer属性实现脚本异步加载,避免阻塞HTML解析,其中async脚本下载后立即执行,不保证顺序,而defer脚本在DOM解析完成后按序执行;更复杂的执行顺序由事件循环机制调控,它协调宏任务(如setTimeout)与微任务(如Promise回调),确保微任务优先于宏任务执行,从而形成一套高效、非阻塞的异步编程模型。
-
可使用:placeholder-shown伪类实现输入框为空时的样式变化,需配合placeholder属性,支持Chrome47+等现代浏览器,IE不支持。