-
渐变方向必须用媒体查询完整重写linear-gradient(),不能只改to值;colorstop百分比在非正方形容器中视觉位置会偏移,CSS变量在gradient方向参数中兼容性有限。
-
JavaScript中没有原生协程,但可通过生成器和async/await模拟;1.生成器(function*)使用yield实现显式暂停与恢复,通过next()方法驱动,支持双向通信,适用于自定义迭代器、状态机及复杂异步控制;2.async/await基于Promise,用await暂停异步函数执行直至Promise解决,自动恢复,简化异步代码,提升可读性;3.两者不等价:生成器是底层控制原语,灵活但需手动驱动,async/await是异步场景的高级语法糖,自动与事件循环协作;4.选择async/awa
-
HTTPS不能替代混合内容修复,因页面中仍可能加载HTTP资源导致浏览器阻止并引发功能异常;需通过开发者工具定位报错,用协议相对地址或HTTPS硬编码批量修复,CSP的upgrade-insecure-requests对HTML内联资源无效。
-
正确书写<meta>标签需确保:①必须置于<head>内且charset为首个标签;②http-equiv与name不可混用;③viewport紧随charset或title后;④description仍有效但须精准简练;⑤OpenGraph/TwitterCard需用绝对URL并校验参数。
-
使用position:absolute和z-index可实现按钮提示框,首先设置父按钮为relative定位,提示框为absolute定位并用top、left和transform调整位置,通过:hover触发opacity显示,同时设置z-index确保层级优先,避免被其他元素遮挡,配合transition实现淡入效果,并可通过::after伪元素添加指向箭头,提升视觉引导。
-
Chrome105+和Edge111+原生支持VirtualKeyboardAPI,但需先设置<metaname="viewport"content="height=device-height,virtualkeyboardpolicy=auto">,再通过navigator.virtualKeyboard.addEventListener("geometrychange",...)监听键盘显隐;iOS不支持该API,须降级为focu
-
答案:掌握基础CSS属性可设计简洁美观的按钮。首先设置背景色、边框、内边距、文字样式和圆角;再通过:hover实现悬停变色与阴影,:active添加按下缩放效果;最后扩展线框或危险等变体,注重颜色对比与交互细节,提升用户体验。
-
order属性仅在display:grid或inline-grid容器的子项上生效,用于控制网格流中的视觉顺序,不影响DOM结构、可访问性及SEO。
-
闭包通过作用域隔离实现变量真正不可变:内部变量无法被外部访问或修改,仅暴露经校验的变更方法。如订单状态机中,state和流转规则封装在闭包内,仅提供getState()和带校验的transition(),杜绝直接操作。
-
@import会阻塞后续CSS和JS执行,因其强制同步加载、暂停解析并串行请求,导致白屏延长、JS卡顿;应全部替换为<link>标签实现并行下载与异步解析。
-
必须用fetch或XMLHttpRequest发起请求并调用response.json()才能获取JSON响应;需阻止表单默认提交、设置Content-Type:application/json,并确保后端返回合法JSON。
-
flex容器中justify-content仅作用于主轴,align-items作用于交叉轴;主轴方向由flex-direction决定,默认row时主轴为水平,故justify-content:center仅水平居中,需配合align-items:center实现完全居中。
-
伪元素必须设置content属性才能渲染,常见错误是遗漏;需注意display、vertical-align、定位、可访问性及字体继承问题。
-
打字机效果需用@keyframes动画width至具体值(如12ch),禁用auto/fit-content;光标用border-right闪烁,避免::after;混排文本宜按字符数设时长或steps();ch单位不兼容旧版Safari需@supports降级为em。
-
Jest是开箱即用的JavaScript单元测试框架,核心包括编写可测函数、配置环境、用test/it定义用例、expect断言;支持自动匹配test/spec文件、丰富匹配器、describe分组、jest.fn()和jest.mock()模拟。