-
必须在<head>中添加viewport元标签,否则页面在手机上会缩成一团;需动态设置font-size或使用vw单位适配不同屏幕;点击区域应≥44×44px并用touch-action:manipulation消除300ms延迟;iOS旧版Safari对flex有兼容问题,需针对性写法;真机测试不可替代。
-
margin用于控制元素间距离,围绕border外侧;可设置四方向或单独方向,取值包括长度、百分比、auto等;块级元素四边margin均生效,行内非替换元素上下margin无效,行内替换元素则全部生效;垂直margin可能发生折叠,取较大值合并;margin:0auto配合宽度可实现水平居中,垂直居中需借助其他布局方式。
-
本文详解如何在D3.js构建的可折叠树图中,为每个节点点击事件绑定逻辑,实时更新页面指定DOM元素(如<p>)的文本内容,实现“所点即所显”的交互效果。
-
JavaScript操作DOM的核心是通过内置API查找、读取和修改元素的内容、属性或样式;常用方法包括getElementById()和querySelector()查找元素,textContent与innerHTML修改内容,style与classList控制样式,createElement/append/remove动态操作节点,并需确保在DOM加载完成后执行。
-
父容器高度塌陷是浮动的必然结果,因浮动元素脱离文档流致父容器无法感知其高度;Clearfix通过伪元素或zoom触发BFC来修复,但应优先考虑flex/grid等现代布局。
-
用CSSGrid实现相册布局需设外层display:grid和grid-template-columns:repeat(auto-fill,minmax(250px,1fr)),每张图包<figure>,<img>加width:100%和height:auto;放大需JS动态插入modal并监听Esc关闭;onerror可兜底隐藏或替换占位图;滑动翻页优先用scroll-snap-type+flex。
-
响应式输入框通过CSS百分比、max-width、flex和媒体查询实现自适应布局。使用width:100%使输入框填充父容器,结合box-sizing:border-box防止尺寸溢出;设置max-width限制大屏宽度,提升可读性;在flex布局中利用flex:1实现弹性伸缩;通过@media针对不同屏幕精细调整,如小屏设100%、大屏固定300px。综合运用这些方法可确保输入框在各类设备上均表现良好,兼顾可用性与灵活性。
-
关闭CSS背景图片重复显示需设background-repeat为no-repeat;可单独控制横向(repeat-x)或纵向(repeat-y)平铺;常配合background-position、background-size等实现精确定位与适配。
-
::selection仅支持color、background-color、text-shadow等有限属性,需全局声明且Firefox旧版需加::-moz-selection前缀;不适用于input/textarea及部分替换元素,失效主因是user-select:none、样式覆盖或CSS-in-JS作用域隔离。
-
防抖适用于用户操作停止后再执行,如搜索框输入;节流适用于固定频率执行且需及时响应,如滚动监听。二者均需处理this绑定、参数传递及定时器清理,推荐使用Lodash或React自定义Hook。
-
本文介绍在JavaScript中如何将多个独立的正则替换逻辑(如清除URL、匹配特定模式单词、过滤特殊字符)安全、高效地合并为单次replace()调用,避免多次遍历字符串,提升性能与可维护性。
-
WebGL透明需显式开启alpha选项:创建上下文时必须传{alpha:true},再设clearColor(0,0,0,0)并启用混合gl.enable(gl.BLEND)和blendFunc,同时确保CSS样式不遮挡。
-
过渡效果应聚焦高频交互元素,如按钮、折叠面板、导航菜单、标签页和输入框;避免用于列表项、表格行、图标切换和模态框整体;优先用transform/opacity,禁用transition:all,时长100–200ms,并适配prefers-reduced-motion。
-
CSStransition无法在sticky元素动态添加类时生效,根本原因是其初始高度为auto,而CSS过渡要求起始和结束值均为可计算的具体数值(如px),本文提供兼容性好、无需重排干扰的纯CSS+JS巧妙解法。
-
filter是JavaScript数组方法,遍历原数组并返回满足条件元素的新数组,不修改原数组;回调函数需返回布尔值,常用参数为当前元素,适用于数字筛选(如n>10)和对象筛选(如u.status==='active')。