-
打印样式必须用@mediaprint包裹,正确引入方式为<linkrel="stylesheet"href="print.css"media="print">或内联@mediaprint{...};需隐藏交互元素但保留语义结构,强制黑白、调整字号适配纸张,慎用webfont,分页控制优先用break-inside:avoid并真机测试。
-
auto-fill未填满容器是因为它只尽可能多地重复满足最小宽度的轨道,不主动撑满;受父容器限制、box-sizing、minmax最小值设定及viewport影响。
-
Tailwind的JIT模式能明显加快CSS生成,因为它将类名扫描与CSS生成从构建时移至开发时,且仅生成实际使用的类,避免预生成海量冗余变体。
-
减小JavaScript包体积可提升加载速度与用户体验,核心方法包括精简代码、按需加载和优化传输。首先检查依赖,移除未使用包,选用轻量库如dayjs替代moment.js,并利用TreeShaking只引入必要代码。其次通过动态import实现路由级懒加载,将第三方库单独分包,结合splitChunks提取公共模块以提升缓存利用率。构建时启用Terser压缩代码,支持Gzip或Brotli压缩可减少60%以上体积,使用source-map-explorer分析大文件模块。现代工具链如Vite提升构建效率,
-
背景图片位置不正确通常因默认值未匹配设计需求,需明确坐标基准、单位和方向;background-position定义图像左上角相对于内容区左上角的偏移,支持px/%/关键词,百分比有特殊对齐规则,常用center、righttop等组合精确定位,并注意no-repeat、宽高设置、fixed定位及overflow影响。
-
缩放与旋转无法同时播放是因多个transform被覆盖,需将scale和rotate写入同一animation的transform中,如:transform:scale(1)rotate(0deg);或通过父子元素分离实现独立动画控制。
-
window.location.replace()用于替换当前页面并清除历史记录,如登录后跳转至仪表板且禁止返回登录页;而字符串的replace()仅修改文本内容,不触发页面跳转。
-
使用clear属性或clearfix方案可解决浮动导致的父容器高度塌陷问题,推荐现代布局flexbox或grid以避免此类问题。
-
JavaScript生成二维码首选qrcode.js库,支持Canvas渲染与base64图片导出;可自定义颜色、嵌入logo(尺寸≤20%),并兼容中文及UTF-8内容,长文本需启用高纠错等级或URL编码。
-
超链接可通过file://协议或自定义URL协议在本地运行文件,但受浏览器安全限制,仅适用于本地调试或内网环境。
-
首先使用HTML5的<nav>标签构建语义化导航结构,结合<ul><li>列表定义菜单项;接着通过CSS的flex布局实现水平排列与响应式设计,添加:hover悬停效果提升交互体验;然后在移动端采用“汉堡”按钮切换菜单显示,利用JavaScript控制.nav-menu的显示状态,并通过媒体查询调整小屏幕下的垂直布局;最后增强可访问性,添加aria-label属性、:focus焦点样式,确保键盘导航与读屏工具兼容,从而完成一个结构清晰、样式美观、响应式且可访问的现代导航
-
正则表达式可高效批量处理HTML标签:一补全自闭合标签斜杠;二提取href值导出列表;三删除指定标签及内容(限单层);四为img添加alt="";五统一属性引号为双引号并转义。
-
Safari中HTML5视频无法播放等问题,需依次启用HTML5模式、设置video标签属性、绕过自动播放限制、禁用QuickTime插件、模拟用户代理。
-
绝对定位元素以最近已定位祖先为参照,父元素设position:relative即可成为定位上下文;它不改变自身位置,仅提供坐标系,无需top/left偏移。
-
函数组合是将多个函数串联执行的技术,核心思想为(f∘g)(x)=f(g(x)),通过compose实现右到左执行,pipe实现左到右执行,适用于数据处理链如字符串操作、React高阶组件等场景。