-
掌握CSS定位关键在于理解四种模式的行为逻辑:static不脱离文档流;relative占位且偏移基于自身;absolute脱离流并参照最近已定位祖先;fixed脱离流且相对视口固定;sticky是两者的结合体。
-
CSS引入顺序直接影响样式覆盖,当特异性和重要性相同时,后引入的规则生效。通过合理规划重置、基础、组件到主题样式的加载顺序,结合预处理器或模块化方案,可有效避免冲突,提升可维护性与调试效率。
-
用grid-template-areas配合媒体查询可实现图片与文字在不同屏幕下的布局换位:小屏竖排(text在上、img在下),大屏横排并调序(img在左、text在右),HTML结构保持语义顺序不变,仅通过CSS控制视觉位置。
-
ES6class是函数和原型链的语法糖,继承仍基于[[Prototype]]链:①B.prototype.[[Prototype]]=A.prototype;②B.[[Prototype]]=A;③子类constructor必须先调super()初始化this。
-
JavaScript隐式类型转换由==、+、!、if和逻辑运算符触发,遵循AbstractEqualityComparison和ToPrimitive规则,易导致NaN等反直觉结果;应优先使用===、显式转换及明确判断逻辑。
-
根本原因是浏览器缓存了<link>的响应,URL不变则复用旧资源;解决方法包括:加版本参数(如?v=hash)、用构建工具注入内容哈希、服务端配置Cache-Control。
-
class是构造函数的语法糖,本质基于原型链和new调用;两者行为等价但class不可枚举、不提升、强制new调用;继承推荐class,简单工厂用构造函数更灵活;兼容性和维护性比语法选择更重要。
-
JavaScript推送通知依赖ServiceWorker,需HTTPS环境与用户授权;先调用Notification.requestPermission()获权,再注册sw.js;激活后通过pushManager.subscribe()获取订阅信息并存至后端;ServiceWorker监听push事件显示通知;后端用web-push库和VAPID签名发送加密推送。
-
猎豹浏览器无HTML5试验特性开关,其Chromium内核陈旧(49–62),HTML5支持残缺;需通过about:version查版本、脚本检测真实能力,并用服务端响应头与前端UA检测兜底兼容方案。
-
回调函数未被取代,仍用于事件监听等场景;但Promise和async/await通过链式调用、统一错误处理及同步风格语法,显著改善了回调地狱、可读性差与错误难捕获等问题。
-
直接用style属性设置字体、字号、颜色最简单高效;推荐font-family备选链、rem单位、十六进制颜色;内嵌style标签适合统一控制;中文字体需注意系统差异、引号包裹、@font-face匹配;rem利于缩放与响应式,px适用于固定尺寸场景。
-
HTML5视频播放器默认不支持Flash回退,因现代浏览器已彻底移除Flash插件且<video>标签无内置Flash切换机制;卡顿主因是HTML5链路问题,需优化编码、传输与前端策略。
-
设置CSS文本样式的核心属性包括font-family、font-size、color等,通过这些属性可控制字体、颜色、大小及排版。优化字体加载需选择少量字体组合、使用本地优先与Web字体子集、合理设置font-display、预加载首屏字体并采用WOFF2格式。文本样式影响用户体验和可访问性,需确保可读性、语义化结构、隐藏文本技巧及响应式设计。处理文本溢出时,单行用white-space、overflow、text-overflow组合,多行借助webkit-line-clamp属性,强制换行或不换行则
-
HTML5无原生裁剪元素,需用CSSclip-path(如circle()、polygon()、inset())实现静态视觉裁剪,或canvas+JS实现交互式裁剪;生产环境推荐cropperjs,注意宽高比、跨域、EXIF等细节。
-
应设置preload="metadata"并启用HTTP范围请求;优先选用Opus(语音)或AAC(音乐)编码,配合ServiceWorker缓存元数据,避免URL带时间戳参数。