-
语义化标签是HTML5中具有明确含义的元素,如header、nav、main、article、section、aside、footer,它们通过定义内容结构提升可读性、SEO和无障碍访问,正确使用需根据内容意义选择标签而非仅替代div。
-
多列布局自动换行的本质是维持流式;float无法真正实现自动换行,仅靠手动清除或宽度匹配模拟,而Grid和Flexbox才能由浏览器动态计算并响应式换行。
-
position:sticky结合top可实现元素滚动吸附效果,如导航栏固定、多层菜单接力粘附;需注意父容器不能有overflow或transform限制,且必须设置top值才能生效。
-
JavaScript操作DOM的核心是获取元素后修改、增删内容及绑定事件。常用方法包括:获取元素(getElementById、querySelector等)、修改内容与属性(textContent、innerHTML、setAttribute等)、添加删除元素(createElement、appendChild、remove等)、事件绑定(addEventListener、event.target等)。
-
extends自动完成三件事:设置子类的[[Prototype]]指向父类、子类原型的[[Prototype]]指向父类原型、强制子类构造函数调用super();不调用super()会导致this未初始化而报ReferenceError。
-
本文讲解HTML中相对路径的正确用法,重点解决因误用绝对路径(如/contact.html)导致“页面未找到”的常见问题,并通过示例说明./contact.html等相对路径写法的实际效果与原理。
-
border会让元素变大是content-box的默认行为,width仅指内容区,border和padding向外撑;全局设box-sizing:border-box可解决,并需重置伪元素及注意兼容性。
-
全屏背景视频需设position:fixed+width:100vw;height:100vh+object-fit:cover;z-index失效因video创建独立堆叠上下文,应加isolation:isolate;移动端需muted、autoplay、playsinline三属性并存。
-
定位元素不触发Margin塌陷,因其脱离普通文档流、不参与BFC内相邻块级盒的外边距合并;但父容器若未形成BFC,其自身margin仍可能与兄弟元素塌陷。
-
flex-shrink未生效的根本原因是min-width:auto阻止收缩,必须显式设置min-width:0,并配合word-break或overflow-wrap强制折行及overflow:hidden裁剪。
-
JavaScript水印需动态创建透明覆盖层并多重防护:Canvas绘制防DOM删除,MutationObserver监听恢复,多实例+动态内容增强鲁棒性,调试干扰提升分析成本,本质是溯源威慑而非绝对安全。
-
长文本溢出容器不换行的根源是white-space被设为nowrap或pre;中文长串需用overflow-wrap:break-word或word-break:break-all;Flex/Grid子项须加min-width:0才能正常折行。
-
box-shadow动画闪烁或跳变是因为初始值与目标值结构不一致导致浏览器无法插值,需用具体数值初始化、保持参数个数一致、使用rgba()颜色、显式声明transition作用于box-shadow属性。
-
grid-column和grid-row生效需父容器设display:grid,仅作用于直接子元素;值指网格线范围而非行列序号,如2/4表示跨第2、3列,span2表示跨2栏,负值如-1/-3须起始线编号小于结束线编号。
-
本文详解如何使用JavaScript根据radio按钮的选择动态显示或隐藏表单区域,重点解决display属性误用导致元素始终不可见的问题,并提供健壮、可扩展的实现方案。