-
display:none使元素完全移除文档流,不占空间且无法交互;2.visibility:hidden仅隐藏元素但保留布局空间;3.前者用于彻底隐藏,后者适用于需保持占位的场景。
-
应通过合理设置CSS的line-height与margin来优化HTML文字行距和段落间距,具体方法包括内联样式、内部style标签、CSS类名、浏览器重置及CSS变量五种方式。
-
FP、FCP、LCP分别表示页面首次像素绘制、首个内容元素绘制、最大内容元素绘制的时间点;FP仅需样式计算与光栅化,FCP需文本/图片等有意义内容,LCP关注视口内最大内容区块,三者应满足FP≤FCP≤LCP。
-
JavaScript深拷贝的核心是创建完全独立的新对象以避免引用问题;常用方法包括JSON.parse(JSON.stringify())(简洁但有类型限制)、structuredClone()(现代原生推荐)、递归手写(完全可控)和Lodash的_.cloneDeep()(生产环境稳妥)。
-
答案:前端JavaScript加密应使用WebCryptoAPI实现AES-GCM等安全算法,通过PBKDF2派生密钥并避免明文存密钥、重用IV等错误,明确其防护边界。
-
BEM是最值得坚持的CSS命名规范,因其三段式结构(block__element--modifier)天然隔离作用域、避免样式污染、命名即含义,且易于理解、复用和维护。
-
自定义单选/复选框样式的核心在于利用CSS的:checked伪类控制相邻label样式。1.HTML结构上确保input与label关联,用for和id属性绑定或嵌套;2.隐藏原生控件推荐使用opacity:0等不影响可访问性的方法;3.使用label内的span元素绘制自定义样式;4.利用:checked状态结合相邻兄弟选择器改变指示器外观;5.提供焦点状态提升键盘导航体验。此外,需兼顾可访问性,包括正确关联label与input、避免display:none、添加ARIA属性等,从而实现视觉统一、交互
-
应使用语义化HTML标签构建帖子摘要列表:每条用<article>包裹,标题与元信息置于<header>内,标题用<h2>~<h4>,时间用<timedatetime="ISO8601">,摘要正文用<p>,缩略图用带loading="lazy"、width/height及srcset的<img>,标题跳转用而非<button>。
-
HTML打印时普通空格被折叠,但 (\u00A0)保留;white-space属性在打印中生效,需显式设置pre/pre-wrap/pre-line;text-indent和letter-spacing不失效但易误用;推荐inline-block或ch/em单位实现可控空隙。
-
本文介绍如何通过JavaScript实时监听多个指定输入框(如姓名、姓氏)的输入状态,仅当所有必填字段非空时才启用“下一步”按钮,并在用户尝试点击禁用按钮时提示“请先填写所有必填字段”。
-
HTML本身不存储数据,所谓“HTML存储容量上限”实为浏览器对WebStorageAPI(如localStorage、sessionStorage)的实现限制,典型错误QuotaExceededError源于写入超配额(普遍5–10MB,按UTF-16字节计),中文/emoji加速占满;二者接口一致但生命周期不同,localStorage持久化适合用户偏好,sessionStorage仅限当前会话;敏感信息禁存,跨域iframe隔离;突破限制可用IndexedDB、压缩、分片或服务端兜底;配额动态变化,
-
z-index对float元素无效是因为只有定位元素(position非static)才能创建层叠上下文,浮动元素需配合position:relative等才能使z-index生效。
-
本文介绍在React中实现自定义Tooltip组件时,如何通过动态计算焦点流、手动接管focus事件并合理延迟聚焦,使脱离DOM原位置渲染的Tooltip内容无缝融入页面默认Tab顺序,满足WCAG2.1可访问性要求。
-
Intl.DateTimeFormat是JavaScript中用于国际化日期和时间格式化的强大工具。1.它能根据指定的语言环境自动处理日期格式、月份名称、星期几、时区等;2.支持通过options对象精细控制年、月、日、时、分、秒等组件的显示方式;3.提供dateStyle和timeStyle快捷选项用于常用格式;4.支持指定时区(timeZone)及时区名称(timeZoneName);5.相比传统Date方法,具备更高的灵活性、更精细的控制、更强大的国际化支持及更优的性能;6.使用时应明确指定loca
-
HTML无法直接调用生物识别,必须通过JavaScript调用WebAuthnAPI(如navigator.credentials.get())在HTTPS或localhost环境下触发系统验证,且需服务端参与challenge校验。