-
HTML5中设置背景图像有五种方法:一、body内联style;二、内部CSS;三、外部CSS文件;四、CSS渐变叠加;五、响应式适配,均需注意路径、格式、兼容性及可读性。
-
box-sizing属性控制width/height是否包含padding和border,默认content-box,设为border-box则总宽固定;老项目在Chrome中“变窄”实为未重置box-sizing导致跨浏览器不一致。
-
使用CSSMediaQuery可实现响应式布局,1.通过@media规则根据屏幕宽度设置断点适配不同设备;2.可检测方向、分辨率等特性精细控制样式;3.推荐移动优先策略,先定义小屏样式再逐步增强;4.建议用em单位、添加viewport标签并保持断点简洁,结合Flexbox或Grid布局提升适配效果。
-
HTML5无法自动校正扫描件倾斜,需前端JavaScript处理:用Canvas+getImageData做像素级几何变换,或CSS仅视觉微调,或第三方库实现透视校正;注意iPad性能限制与预处理必要性。
-
触摸事件未触发的主因是HTML5结构标签默认不可点击,需添加tabindex、cursor:pointer或改用pointerdown等方案。
-
ES6模块的import/export是静态语法,必须在顶层作用域;命名导出需大括号且名称匹配,默认导出仅一个、导入名可自定义;动态import()返回Promise,支持条件加载但不参与tree-shaking;Node.js需.mjs后缀或"type":"module"且路径带扩展名。
-
JavaScript通过ArrayBuffer、TypedArray、DataView和Blob处理二进制数据。1.ArrayBuffer表示固定长度的二进制缓冲区,需配合Uint8Array等视图读写;不同视图共享缓冲区,字节序影响值解析。2.DataView支持指定字节序(大端或小端)进行精确读写,适用于跨平台数据交换。3.Blob用于文件级操作,可由ArrayBuffer创建并生成下载链接。4.利用FileReader将Blob转为ArrayBuffer,反之可用newBlob()构造器转换。这些对
-
FontAwesome图标在网页正常显示,但在Chrome打印(含PDF导出)时消失,根本原因在于WebFont渲染机制在打印媒体中受限;改用SVG+JS方式集成可彻底解决该问题。
-
requestAnimationFrame是最可控的浏览器原生动画方案,需用timestamp计算deltaTime以保证速率稳定,并手动管理启停;CSStransition/animation适合声明式交互动画,WebAnimationsAPI提供精细控制但兼容性有限。
-
font-weight用于控制字体粗细,可使用normal、bold等关键字或100-900的数值;font-style用于设置字体倾斜样式,italic为设计斜体,oblique为算法倾斜。
-
Chart.js适合快速绘制常见图表,D3.js适合高度定制化、交互复杂或需精细控制DOM的可视化场景;前者开箱即用、封装Canvas、API简洁,后者数据驱动文档、直接操作SVG/DOM、自由度高但学习成本大。
-
JavaScript是单线程语言,依靠事件循环协调同步与异步任务:先执行一个宏任务,再清空全部微任务,最后可能渲染UI并取下一个宏任务;如代码输出顺序为1→2→4→3。
-
transition:color0.3sease,background0.3sease;
-
可通过合并:hover和:focus伪类设置统一样式,使元素在鼠标悬停或键盘聚焦时均改变颜色;2.建议保留或自定义focus样式以提升可访问性;3.结合transition可实现平滑视觉效果,增强用户体验。
-
要实现卡片翻转效果,需结合CSS的perspective、transform-style和backface-visibility属性。1.构建包含正反面的.card容器,设置perspective营造3D视觉;2..card-face共用绝对定位与隐藏背面,front初始rotateY(0deg),back为rotateY(180deg);3.通过@keyframes定义从0deg到180deg的rotateY动画,配合infinitealternate实现循环翻转;4.添加ease-in-out缓动、h