-
闭包是内部函数引用外部变量且被传递到定义环境之外执行时才产生的机制;它冻结定义时的作用域链,使外部变量脱离默认生命周期而随函数值存活,可能导致内存泄漏。
-
<marquee>标签的direction="up"纵向滚动需配合固定高度、overflow:hidden及behavior="scroll"才生效,但该标签已被HTML5废弃;推荐用CSS@keyframes+transform:translateY()或JavaScriptrequestAnimationFrame实现兼容、可维护的纵向滚动效果。
-
怎么组织CSS文件结构才不会后期乱成一锅粥靠目录层级硬分base和component不够,关键在引用顺序和作用域控制。很多人把文件夹建好了,结果button.css里又写了个.header,或者base.css里偷偷加了媒体查询,最后样式打架、覆盖难查。base只放重置、变量、工具类(如.sr-only、.visually-hidden)、基础排版规则(h1–h6、p、ul默认间距)component每个文件只负责一个UI单元,文件名和最外层选择器必须一致,比如
-
用text-shadow或box-shadow配合rgba()多层叠加可实现饱满通透的霓虹效果,关键在于每层模糊半径、偏移和透明度需阶梯式递进,深色背景与动态呼吸动画进一步强化真实感。
-
IE中HTML5功能异常需启用Edge文档模式、添加HTML5DOCTYPE和X-UA-Compatible标签、禁用兼容性视图自动更新、重置IE高级设置。
-
TV浏览器viewport缩放导致像素模糊,根本原因是devicePixelRatio伪造成1.0/2.0且不支持pixelated缩放;应写死viewport宽度为1920并用screen.width动态设置rem基准,禁用initial-scale和vw,Canvas需手动同步DPR,video须用固定width/height属性。
-
WebSpeechAPI的SpeechRecognition在iOSSafari中完全不支持、AndroidChrome部分版本默认禁用,且仅HTTPS或localhost下可用;需用window.SpeechRecognition||window.webkitSpeechRecognition兼容写法,并在用户手势中调用start(),设置interimResults和lang才能正常识别。
-
vertical-align对浮动元素完全无效,因其仅作用于inline、inline-block和table-cell元素;浮动元素脱离文档流成为块级框,失去vertical-align作用域。
-
poster属性仅在视频未加载、未播放或加载失败时显示静态占位图,需手动提供有效URL图片,不支持自动截帧;常见问题源于路径错误、格式兼容性(如WebP在旧Safari中不支持)、CSS覆盖尺寸或色域/滤镜不匹配导致的视觉跳变。
-
:checked伪类是控制复选框选中状态样式的核心手段,需隐藏原生checkbox并借助label等兄弟元素实现自定义外观,配合+或~选择器触发视觉变化。
-
JSON.stringify()对原始类型有明确转换规则:undefined、函数、Symbol在对象中被忽略,数组中变null;null、布尔、数字(除Infinity/NaN外)、字符串按字面量转义;BigInt直接报错;Date调用toJSON()转ISO串,RegExp默认转{}。
-
border-radius不改变盒模型的width/height计算值,它仅裁剪边框和背景的绘制路径,布局仍按原始矩形进行;子元素定位、事件检测、溢出判定均基于该矩形,outline保持矩形,box-shadow随圆角渲染。
-
<p>滚动加载核心是监听滚动事件并判断是否触底(scrollY+innerHeight>=scrollHeight-100),通过isLoading锁和hasMore标识防重复请求,结合节流(非防抖)优化性能,并在DOM更新后重置状态。</p>
-
答案是使用VSCode编写HTML后通过浏览器预览,推荐安装LiveServer插件实现自动刷新。首先在VSCode中创建并保存.html文件,然后直接双击文件用浏览器打开,或右键选择“OpenwithLiveServer”启动本地服务器实时预览,修改代码保存后页面自动更新,无需复杂配置。
-
本文详解SpringBoot控制器向Thymeleaf视图传递用户数据时常见的变量名不匹配问题,通过修正model.addAttribute()键名与HTML中th:text="${...}"表达式的一致性,快速解决“Welcome,”后用户名空白的显示异常。