-
HTML页面缓存由服务器HTTP响应头(如Cache-Control、ETag)控制,meta标签无效;验证需通过DevToolsNetwork面板查看Size列和状态码;清除缓存应修改服务端响应头、文件名哈希化或临时加查询参数;SPA中index.html须短缓存以防JS/CSS版本错配。
-
HTML文字垂直排列需用CSS实现:一、writing-mode设vertical-rl或vertical-lr;二、text-orientation控字符朝向;三、transform旋转容器;四、flex-direction:column逐字堆叠;五、grid布局精确定位字符。
-
动画加载闪一下的本质原因是初始状态未显式声明,导致浏览器按默认值渲染,与动画0%帧不一致;需用animation-fill-mode:both配合明确定义的0%关键帧,或采用CSS类+JS控制初始状态。
-
HTML5中可用CSS3的linear-gradient和radial-gradient实现线性与径向渐变,需添加浏览器前缀、设置fallback色、用多重背景叠加,并为旧版IE提供PNG降级方案,再结合CSS变量实现动态交互。
-
现代浏览器禁止有声视频自动播放是策略而非bug,Chrome≥66、Safari≥11、Edge≥79默认拦截未静音的autoplay;唯一可靠方案是同时声明autoplay和muted属性(muted须为HTML属性),并添加playsinline与webkit-playsinline以确保内联播放;有声播放必须等待用户首次有效交互后手动取消静音并调用play()。
-
掌握HTML5语义标签、CSS布局(浮动与Flexbox)、JavaScript交互、开发者工具调试及完整项目实践五步法,是前端入门核心路径。
-
本文介绍一种使用map和for...in循环遍历嵌套结构的方式,将每个对象的items数组中键值对(如{productOne:"crust",quantity:2.2})提取为外层对象的属性,实现嵌套数组到扁平对象数组的高效转换。
-
Flex元素无法放大主因是缺乏剩余空间或受固定尺寸限制,需确保父容器为flex布局、移除width/height、合理设置flex属性并处理内容最小尺寸。
-
自定义事件是开发者手动触发的DOM事件,用于组件间解耦通信;通过CustomEvent构造函数创建并携带data,用dispatchEvent触发,addEventListener监听,需注意冒泡、取消及兼容性。
-
在HTML表单中插入下划线需正确使用value、placeholder和label属性,确保原样显示与提交;避免被Markdown等解析器误处理;必要时用pattern正则校验输入是否含下划线。
-
多列布局高度不一致是正常行为,因其本质为内容流式分段,不支持align-items等flex属性;需等高应改用Flexbox或Grid实现。
-
box-shadow默认不撑大元素尺寸,它仅作为视觉层绘制在盒模型外,不影响布局宽高、内边距、外边距及getBoundingClientRect()值;其引发的截断或滚动是因阴影溢出父容器overflow范围所致。
-
图片无缝拼接的本质是消除间隙和错位,关键在于用CSS控制img或背景图的渲染行为:设display:block消除行内间隙,用background-repeat实现规则图重复,配合image-rendering防止缩放模糊。
-
虚拟列表通过只渲染可视区域内的元素来提升长列表性能。1.监听滚动事件计算可视范围;2.动态渲染可见项并用占位符维持滚动高度;3.缓存项高度以优化不同高度的渲染效率;4.配合节流、预估高度等策略提升体验,适用于万级数据流畅展示。
-
JavaScript模块是运行时真实隔离的作用域单元,需type="module"声明,遵循严格模式、defer执行、路径带扩展名等规则,导出导入基于实时绑定与单例机制。