-
使用Flexbox可解决表单控件对齐问题:1.设置容器display:flex;2.用align-items:center实现垂直居中;3.justify-content控制水平分布;4.配合重置margin、padding、box-sizing和统一字体行高,确保跨浏览器一致性。
-
localStorage默认持久化,但需避免无痕模式、跨协议访问、未序列化对象、重复覆盖等误用;存取对象须用JSON.stringify/parse并try-catch;storage事件不触发当前页;容量受限且因编码差异实际可用空间不同。
-
console.log不够用,应优先使用console.table()、console.group()、console.time()、console.assert()等结构化调试方法,并结合断点调试、全局错误监听、console.dir和$0等DOM调试技巧。
-
猎豹浏览器无法自定义HTML5视频缓冲值,因其内核陈旧且buffered属性只读;唯一可控的是preload属性(推荐"metadata"),TV端同样受限,真需定制缓冲须改用MSE分片加载(但猎豹不支持)。
-
浏览器默认样式通过useragentstylesheet影响按钮等元素,需用normalize.css或精准重置box-sizing、border、font等属性;@import会阻塞加载,应优先用<link>;!important受源顺序影响且不敌内联样式;CSS变量仅继承不跨ShadowDOM,响应式应在:root中配合媒体查询定义。
-
Map适用于键为任意类型且需保持插入顺序的键值映射,Set适用于自动去重和高效存在性判断的唯一值集合;对象适合结构化数据,数组适合有序索引列表。
-
项目选CSS框架需先确认三点:团队熟悉度、是否需快速出原型、设计系统是否固定或需高度定制;Tailwind适合改得快但HTML膨胀,Bootstrap适合快速交付管理后台但定制难。
-
在HBuilder中开发HTML5Plus应用需启用5+App支持、监听plusready事件后调用plus.barcode.scan扫码、plus.camera.captureImage拍照、plus.gallery.pick选图,所有API仅在真机或5+App环境中生效。
-
使用grid-auto-flow控制排列方向,结合grid-auto-columns/rows和minmax实现自动布局。1.设display:grid并用grid-auto-flow定义流向;2.通过grid-auto-columns/rows设置自动生成行列尺寸;3.使用repeat(auto-fit)与minmax(120px,1fr)实现响应式列数;4.设grid-auto-flow:column可切换为列优先排列。
-
应使用aspect-ratio或padding-bottom技巧实现视频宽度100%时高度自适应:现代浏览器用video{width:100%;aspect-ratio:16/9;object-fit:cover},旧浏览器用外层容器padding-bottom:56.25%配合绝对定位video。
-
给input的直接父容器加position:relative,再对图标用absolute定位,并配合padding和border-radius调整right/top值;推荐父容器用flex布局实现垂直居中,图标设pointer-events:none避免遮挡输入。
-
JavaScript模块化分CommonJS和ES6两种:前者用require/module.exports,同步动态加载,Node原生支持;后者用import/export,静态编译解析,浏览器原生支持,具实时绑定与循环引用优化。
-
八皇后问题通过回溯算法在8×8棋盘上放置8个互不攻击的皇后,使用数组记录每行皇后的列位置,逐行尝试并利用isSafe函数检查列与对角线冲突,若无法继续则回退至上一行调整,最终找出所有可行解。
-
优先用innerHTML填充,但需防范XSS;纯文本用textContent;结构化内容用createElement+appendChild;大批量用DocumentFragment;追加内容用insertAdjacentHTML。
-
浮动布局仍适用于传统项目,通过父容器overflow:hidden触发BFC防止塌陷,子元素用float实现左右固定、中间自适应的三栏等高布局,结合calc()提升响应性,每行用overflow:hidden隔离浮动影响,并在移动端取消浮动实现堆叠,确保兼容与可读性。