-
本文详解jQuery动态Tooltip不可见的根本原因——未正确触发动画类,提供简洁可靠的修复方案:复用DOM中预置的tooltip元素并添加appear类,避免重复创建与手动定时移除,确保视觉反馈即时、平滑且可维护。
-
固定表头需对th设置position:sticky;top:0;,而非thead;必须保留标准thead/tbody结构以保障语义化,iOS需父容器设height+overflow-y:auto且th有显式width。
-
IIFE用于ES5及之前模拟块级作用域,解决var变量提升、循环闭包、全局污染等问题;通过自调用函数创建独立词法作用域,封装私有变量并暴露公共接口;ES6后被let/const和模块系统取代。
-
Reflect.apply()是Function.prototype.apply()的函数式、不可篡改封装,强制要求目标函数、this值和数组形式参数,不支持隐式绑定或展开参数,严格模式下null/undefined保持原值,非严格模式下转为全局对象。
-
分享按钮无反应主因是未引入对应平台SDK,如微信需jweixin.js、微博用百度分享脚本;微信分享还须后端签名且URL严格一致;WebShareAPI仅限部分浏览器且需用户手势触发。
-
嵌套表格只能放在<td>或<th>内,因<tr>只允许子元素为<th>或<td>,否则浏览器会自动修正结构导致错乱;正确做法是将子表格完整写入单元格内部,并通过类名隔离样式。
-
em用于语义强调,屏幕阅读器重读、SEO识别;i仅表斜体样式,适用于外文词、船名等非强调场景,二者语义不同不可混用。
-
应使用block-size,因图标作为独立块需逻辑尺寸控制,block-size适配不同书写模式,而element-size非标准CSS属性。
-
HTML按钮无独立样式设置方法,所有视觉效果均由CSS控制;其默认样式源于浏览器UA样式,不同浏览器差异明显,且<button>与<inputtype="button">表现不完全一致。
-
用data-level属性标记层级,padding-left替代margin-left实现缩进,父级设position:relative,::after伪元素消除hover间隙,top:calc(100%+1px),transition明确属性,body.menu-open控制滚动穿透,IE11降级为block布局。
-
<p>dataset属性用于读写HTML的data-*自定义属性,自动转连字符为驼峰命名(如data-user-id→userId),但值恒为字符串需手动转换,适用于轻量静态UI数据,不适用于敏感信息或高频更新场景。</p>
-
BEM通过强制组件级命名空间减少样式冲突:类名以组件名开头(如card),元素用双下划线(card__body),修饰符用双短横(card--shadowed),禁用嵌套选择器,从而杜绝全局污染和层叠不确定性。
-
通过opacity和transform结合transition实现弹窗动效,1.结构上使用modal容器包含内容框;2.初始隐藏并设置透明度、缩放及过渡;3.添加active类触发动画,改变透明度、可见性和缩放;4.JS通过类名切换控制显示隐藏,配合visibility和pointer-events避免误交互。
-
浮动元素无法通过z-index改变层级,因其未创建层叠上下文且z-index仅对定位元素有效。需同时设置position为relative、absolute等非static值才能使z-index生效。例如添加position:relative后,z-index即可正确控制层叠顺序。需注意父容器若创建了层叠上下文(如设置opacity),仍会影响子元素的最终显示层级。
-
菜单在小屏幕无法显示因display:none未通过媒体查询逆转;2.需用@media(max-width:768px)设置.menu{display:none}及.active显示;3.添加JavaScript切换active类实现点击展开。