-
中文实现两端对齐需同时设置text-align:justify和text-justify:inter-character,且容器为块级、文本至少两行;末行对齐需伪元素干预,兼容性受限于浏览器版本。
-
是,inputtype="email"会自动验证邮箱格式,但仅做基础正则校验(如含@、不以@开头/结尾),不发邮件、不查MX、不验证真实性,必须配合后端严格校验。
-
<br>是纯视觉换行指令,无语义;<p>是语义化段落容器,自带间距与结构。前者用于地址、诗歌等同段内强制换行,后者用于逻辑完整的独立文本块,混用会损害可访问性、SEO和CSS控制力。
-
虚拟键盘本质是HTML按钮集合,通过JavaScript绑定目标input的DOM引用,用setRangeText()精准控制光标位置与输入,避免value拼接导致事件丢失或光标错乱。
-
ESM模块执行分实例化与求值两阶段:实例化仅建立导出绑定(非值)并完成依赖映射,不执行代码;求值按拓扑序执行顶层语句,赋予绑定真实值并支持实时绑定。
-
答案是:选择浏览器存储技术需根据数据的生命周期、大小、安全性及用途来决定。localStorage适用于长期存储非敏感用户偏好数据,因其持久化且容量较大(5-10MB),但需注意其同步操作可能阻塞主线程且不适用于敏感信息;sessionStorage适合临时会话数据,页面关闭后自动清除,使用方式与localStorage相同;Cookies虽容量小(约4KB)且每次请求自动携带,但可通过设置HttpOnly、Secure和SameSite属性增强安全性,常用于存储需随请求发送的认证token或会话ID;对
-
要合并表格单元格,需使用colspan和rowspan属性;2.colspan使单元格横跨多列,需减少同行动态单元格数量以避免错位;3.rowspan使单元格纵跨多行,后续行对应位置不得重复书写单元格;4.理解其原理应将表格视为网格,合并即“占位与移除”,必须删除被占据位置的多余标签;5.常见问题为行列不匹配,规避方式是精确计算每行单元格数并绘制草图辅助编码;6.复杂合并时建议简化结构或改用CSSGrid/Flexbox实现更灵活的响应式布局;7.高级应用如多级表头可通过组合colspan和rowspan
-
用document.createDocumentFragment()批量插入节点可显著减少重排重绘,因其作为离线容器不触发渲染,仅在一次性插入真实DOM时触发一次layout;误用如反复插入或追加后重插会导致重复开销。
-
CSS变量不能直接存储复杂阴影值,需拆解为--shadow-x、--shadow-y等参数分别定义后组合使用;若用单变量存多层阴影,必须用引号包裹并确保逗号空格正确。
-
:hover在鼠标悬停时生效,用于实现如变色、下划线等交互效果;:active在元素被点击激活的瞬间触发,常用于模拟按钮按下状态。两者分别对应悬停与点击动作,持续时间不同,可同时存在于同一元素上,建议按LVHA顺序书写以避免样式冲突。
-
可以,box-shadow原生支持逗号分隔的多层阴影,需写在同一声明中,从左到右逐层绘制,近层清晰高透、远层模糊低透,偏移宜一致或缓增,模糊半径须阶梯式增大以模拟景深。
-
JavaScriptDate对象本身不混乱,混乱的是直接用它做加减、跨时区、格式化或比较——因其API隐含大量陷阱:getMonth()从0开始、setFullYear()静默溢出、ISO字符串解析在Safari等浏览器中被误当本地时间(规范定义为UTC),且跨月/跨天计算易受夏令时和日历溢出影响。
-
用text-transform:capitalize让单词首字母大写,它使每个单词首字母自动大写、其余小写,适用于所有元素;::first-letter仅作用于块级元素首字符,用于排版如首字下沉,不适用于单词首字母大写。
-
JavaScript数据可视化核心是选库、理清数据流程、渲染图表;推荐Chart.js或Plotly.js入门,D3.js用于高度定制;需准备结构化数据、处理常见格式坑、绑定DOM容器并动态更新。
-
内存泄漏是未被回收的内存持续占用导致性能缓慢下降。四大场景:未清理事件监听器、闭包持有大对象、意外全局变量、DetachedDOM树;ChromeDevTools三步定位;预防关键在“谁创建,谁清理”。