-
alt属性是HTML中必需属性,用于在图像加载失败、屏幕阅读器读取或搜索引擎解析时提供准确、简洁、非冗余的替代文本;装饰性图片必须设为alt="",不可省略或填充无效内容。
-
:valid无法直接触发input的::after图标,因input是替换元素,不支持伪元素;需用label包裹并借助属性选择器联动状态。
-
link顺序决定样式胜负,后加载的CSS会覆盖同权重的先加载样式,因此自定义CSS应置于框架CSS之后;若仍被覆盖,需检查并提升选择器权重,而非滥用!important。
-
BEM通过强制单类名选择器将CSS权重恒定为0-1-0,天然规避!important滥用和嵌套爆炸;其核心是命名隔离而非权重优化,确保样式作用域清晰、协作边界明确。
-
FormData不能直接转JSON,因含文件、重复键等;Object.fromEntries仅适用于纯文本无重复的极简场景,实际会丢失文件内容、覆盖同名值、兼容性差;应手动遍历并区分File与字符串类型处理。
-
CSS定位通过position属性控制元素位置,包含static(默认流)、relative(相对偏移)、absolute(相对非static祖先)、fixed(相对视口)和sticky(条件吸附)五种方式,配合z-index管理层叠顺序。
-
推荐使用grid-gap管理网格内部间距,结合margin处理外部留白或特殊元素距离。gap避免重复空白与外边距塌陷,支持响应式布局;margin用于容器外边距、个别项隔离及对齐非网格元素。统一内部用gap、外部用margin可避免间距叠加,通过重置子元素margin并合理设置容器margin实现清晰布局。特定场景下可用负margin或单独class调整首尾项视觉效果,确保代码易维护。
-
clientX相对于视口左上角,不随滚动变化,适用于悬浮提示、菜单定位;pageX相对于文档左上角,随滚动变化,适用于绘图、锚点记录;需注意IE8兼容性及screenX等坐标差异。
-
ES2015起对象属性遍历顺序标准化:先按数值升序排列整数字符串键(0至2³²−2),再按插入顺序排列其余字符串键和Symbol键;V8、SpiderMonkey、JavaScriptCore当前基本一致,但旧版本或边界值(如"2147483648")仍有差异。
-
使用opacity和transition可实现透明度渐变过渡,opacity控制元素透明度(0-1),transition定义过渡效果,常用于按钮悬停、图片淡入淡出等场景,如.button:hover配合transition:opacity0.4sease实现平滑变淡,注意初始值设置及display或visibility配合使用以优化布局与兼容性。
-
:not()仅作用于当前选择器匹配的元素本身,不递归穿透后代,其内只能写简单选择器,多:not()连用为逻辑与,且权重等同于括号内选择器。
-
navigator.onLine不可靠,仅反映网络栈状态而非真实连接;应结合AbortController控制的fetch心跳检测(如/api/ping)判断服务可达性,并加防抖和CSS过渡优化提示体验。
-
transition-timing-function控制网页元素过渡的快慢节奏,常见类型有1.ease(默认值,先慢后快再慢)2.linear(匀速过渡)3.ease-in(开始慢逐渐加快)4.ease-out(开始快结束前减慢)5.ease-in-out(整体平滑,开头结尾放缓),例如button{transition:background-color0.3sease-in;}可实现按钮hover时慢慢变色,自定义曲线使用cubic-bezier()并通过在线工具调整参数,如cubic-bezier(0
-
图片左滑入场需用@keyframes定义translateX(-100%)到translateX(0),绑定animation并加forwards,确保初始位置在视口左外侧且样式权重足够。
-
本文详解如何在Bootstrap4.5中禁用默认的「单开互斥」行为,使多个navbar下拉菜单可同时保持展开状态,适用于侧边栏式导航等定制化场景。