-
JavaScript数字精度问题本质是IEEE754双精度浮点数无法精确表示多数十进制小数,如0.1+0.2≠0.3;toFixed()返回字符串、仅格式化输出、不解决底层精度问题,且四舍五入不符合金融要求;推荐整数运算(如金额转“分”)或Number.EPSILON近似比较。
-
HTML表格默认无边框因浏览器设border为0且border-collapse为separate;加border="1"已过时,应使用CSS:table{border-collapse:collapse}配合td,th{border:1pxsolid#ccc}。
-
伪类和伪元素结合媒体查询可实现响应式布局优化。通过:hover、:focus、:nth-child()在不同设备调整交互行为,如大屏显示下拉菜单,移动端隐藏次要内容;利用::before、::after动态添加适配性内容,如按钮标签、图标替代及分隔线;通过content控制装饰性元素在小屏隐藏,提升性能与可访问性;避免关键信息依赖伪元素,配合prefers-reduced-motion提升无障碍体验。
-
遮罩层未铺满全屏的根本原因是fixed元素默认尺寸为内容自适应,应设inset:0或宽高100%;需确保z-index足够大、pointer-events正常、背景色不透明,并注意iOSSafari视口变化及深色模式适配。
-
本文详解如何为自定义搜索页添加Google风格的“I'mFeelingLucky”按钮,通过JavaScript拦截点击、拼接含&btnI参数的URL,实现一键直达首条结果,无需修改表单默认行为。
-
JavaScript是否用设计模式取决于是否遇到重复的结构问题;单例应注重可控共享与生命周期,Observer比EventEmitter更适前端,工厂函数比抽象类更契合JS动态性。
-
用padding-top百分比能锁住宽高比,因为其值按父容器宽度计算,如16:9设为56.25%;需配合position:relative/absolute、height:0及三层结构实现,避免嵌套干扰。
-
外边距塌陷是CSS规范定义的垂直相邻块级元素margin合并行为,发生在父子或兄弟块间;行内、浮动、绝对定位元素不参与;可用BFC(如display:flow-root)或border/padding/flex等轻量方式解决。
-
使用Animate.css可快速实现CSS淡入淡出动画。1.通过CDN或npm引入库;2.为元素添加animate__animated和animate__fadeIn实现淡入;3.使用animate__fadeOut实现淡出;4.结合JavaScript动态控制动画触发,监听animationend事件避免重复触发,适用于快速开发场景。
-
cursor值分为三类:预定义关键词(如pointer)、URL自定义图像(需配备选值如auto)、组合回退机制(多URL链式兜底);漏备选值将导致Chrome/Firefox忽略声明。
-
纯CSS实现标签切换必须用:checked+radio,因:hover和:active无法保持状态;:focus-within和:has()兼容性差不可靠;JS方案应仅切换class以最小侵入。
-
最稳妥方式是用语义化<table>展示等级说明,首行<thead><thscope="col">列名,每行等级名用<thscope="row">,配<caption>说明用途,禁用rowspan/colspan;手机端用@media转为垂直卡片;内容应硬编码而非JS生成。
-
浏览器开发者工具的Elements面板显示的是JavaScript执行后的最终DOM,而非原始HTML源码;右键检查或快捷键Ctrl/Cmd+Shift+C可快速定位元素并实时编辑,但所有修改仅限当前会话且不触发JS逻辑。
-
本文介绍一种纯HTML+CSS方案,无需JavaScript,即可让有序列表中自动生成的编号(如“(1)”“(2)”)成为可点击的锚点链接,直接跳转至对应列表项的页面锚记位置。适用于Wiki等不支持脚本的静态内容场景。
-
font-display:swap是@font-face中控制字体加载时文本渲染行为的属性,它让浏览器立即用系统字体显示文本,待自定义字体加载完成后再无感替换,从而避免移动端因网络波动导致的白屏或文字闪跳。