-
scroll-snap-type必须配合scroll-snap-align才生效;仅设容器scroll-snap-type:ymandatory不触发吸附,需在每个子元素上显式声明scroll-snap-align:start/center/end,且容器须有溢出滚动(overflow-y:auto)和固定高度。
-
dl标签仅适用于人类可读的术语–解释型文档,如API文档中的参数说明,每项须严格遵循一个dt(术语名)配一个dd(解释),禁止混入非dt/dd元素或当作键值对容器使用。
-
float与position:sticky无法共存,因float使元素脱离文档流,而sticky要求元素在常规流中;正确方案是用flex或grid布局配合sticky,并确保父容器可滚动且侧边栏为直接子元素。
-
<address>标签专用于声明页面或文章的责任人联系信息,如作者、维护者邮箱或官网链接;仅允许嵌套<a>、<em>、<br>等短语内容,作用域限于最近<article>或<body>顶层,不可用于普通地址或跨作用域混用。
-
element.closest是实现点击穿透最轻量可靠的方式,因其不依赖事件冒泡、天然跳过非元素节点、良好支持ShadowDOM,且性能更优、语义更清晰。
-
在BlazoriseDataGrid中直接显示HTML字符串(如<a>链接)时,默认会进行HTML编码而无法渲染为真实元素;需通过MarkupString显式标记可信内容,才能实现安全、可控的HTML渲染。
-
hidden和block不能直接做响应式图片切换,因为它们只控制显示/隐藏,不阻止图片预加载;浏览器会提前下载所有img的src,导致带宽浪费。
-
grid-area的四值顺序为行起始/列起始/行结束/列结束,非上下左右;支持span和命名区域,不接受auto或函数,且不可混用数字与名称。
-
Vue3的Fragment和Slots共同解决多根节点限制:Fragment允许组件模板直接包含多个同级根节点而不产生冗余DOM;Slots支持默认、具名及作用域插槽,使父组件可向子组件注入任意结构内容。
-
动画失效主因是animation-name与@keyframes名称大小写/空格/符号不完全匹配,且animation-duration在简写中不可省略;关键帧仅支持from/to或百分比,不支持px/s等单位。
-
继承层次过深会直接削弱代码可读性、可调试性和运行效率,典型信号包括调用路径模糊、执行类型难确认、资源开销反常,如IDE跳转失焦、JIT拒绝优化、测试假覆盖及隐式依赖蔓延。
-
在HTML中创建面包屑导航需要使用结构化的HTML标记,并注意可访问性和SEO优化。1)使用<nav>和<ol>元素包裹面包屑导航,2)使用aria-label和aria-current属性提高可访问性,3)通过CSS美化导航,4)可使用JavaScript动态生成面包屑导航,确保其简洁、一致且移动友好。
-
创建XMLHttpRequest实例需兼容旧版IE:优先用newXMLHttpRequest(),IE5/6回退ActiveXObject;open()的async参数必须为true(异步),禁用false(同步);监听响应须结合onload或onloadend与status判断,避免解析错误页。
-
IE已于2022年6月15日终止支持,仅两类场景需兼容:维护中的老旧内网系统(如IE11)或合同强制要求;判断依据为UA占比<0.1%、合同条款及依赖库是否原生支持。
-
使用overflow和padding可解决浮动导致的父元素高度塌陷。首先,通过设置父容器overflow:hidden触发BFC,使其包含浮动子元素,防止布局塌陷;其次,结合padding确保内容与边框间距,提升视觉效果,同时可添加clear:both的清除元素保证布局稳定。该方法无需复杂布局技术,兼容性好,适用于旧项目维护和需广泛浏览器支持的场景。