-
用width和height相等+border-radius:50%能画出圆,但“完美对齐”需同步处理vertical-align、display、line-height及字体度量;根本原因是inline元素按baseline对齐,导致圆点视觉下沉。
-
用max-width配合width:100%是控制容器响应式宽度最稳妥的方式,比单纯用width:100%或width:100vw更可靠,尤其在嵌套、缩放、滚动条场景下不容易溢出或错位。
-
<p>text-align-last在Safari中完全不支持:所有版本均未实现,加-webkit-前缀也无效,浏览器静默忽略该属性;可用::after伪元素配合text-align:justify模拟末行对齐,但存在单行误换行、固定高度裁切、连字符干扰等限制。</p>
-
用absolute定位圆点时父容器必须设position:relative,否则圆点会相对于body定位;border-radius:50%要求宽高相等才能成圆;微调位置优先用top/right等四方向偏移而非transform;多圆点推荐用box-shadow实现光晕或双环效果,便于主题色统一维护。
-
可通过五种方法复制HTML或文本:一、开发者工具复制outerHTML/innerHTML;二、控制台解除选择限制;三、使用浏览器扩展;四、控制台执行querySelector+clipboard.writeText;五、保存网页后编辑提取。
-
video的poster属性必须为可访问的http/https网络URL,不支持本地路径;需配合preload="metadata"和有效src才能显示;播放结束后需手动监听ended事件恢复封面。
-
纯HTML+JavaScript实现购物车需用HTML结构、CSS样式、JS交互,核心是添加商品、更新数量、计算总价,配合localStorage持久化与事件委托绑定。
-
用scrollHeight实现textarea高度自适应最稳定:每次input前先设style.height='auto',再读取并设置scrollHeight;需处理IE11换行符偏差和iOSSafari延迟问题。
-
JavaScript生成器函数是可暂停执行的函数,返回迭代器对象;调用后需用next()推进执行,yield暂停并输出值,return终止并设done:true。
-
IE8不支持oninput,必须用onpropertychange替代,但需过滤propertyName、防递归触发、处理disabled失效及JS赋值场景,contenteditable和textarea需轮询兜底。
-
MediaQuery是CSS3根据设备特性应用不同样式的机制,核心语法为@mediascreenand(条件){样式规则},常用min-width和max-width设置断点;推荐移动优先策略,先定义小屏样式,再逐步增强大屏体验,结合HTML的link标签可控制外部CSS文件的条件加载,提升性能与维护性。
-
required属性通过浏览器内置验证提升用户体验和数据质量,1.确保必填字段不为空,2.提供即时反馈减少用户挫败感,3.过滤基础无效数据提高数据完整性。但仅依赖该属性并不安全,1.客户端验证易被绕过,2.无法阻止恶意请求,3.必须配合服务器端验证。结合JavaScript可实现更高级验证,1.自定义错误提示信息,2.动态条件验证,3.实时输入反馈增强用户体验。
-
JavaScript数组方法的核心在于理解返回值类型、是否修改原数组及遍历时机;sort、reverse、splice、fill、copyWithin会意外修改原数组。
-
JavaScript创建自定义事件需用CustomEvent构造函数定义类型与detail数据,并调用dispatchEvent在目标元素触发;监听时用addEventListener,通过event.detail获取数据。
-
1.事件循环非阻塞的核心在于将耗时I/O操作委托给操作系统或线程池处理,主线程继续执行其他任务;2.它通过调用栈执行同步代码、WebAPI处理异步任务、任务队列(宏任务)和微任务队列调度回调,实现逻辑并发;3.同步代码若长时间运行会阻塞事件循环,导致界面无响应、定时器延迟、回调无法执行;4.Node.js与浏览器事件循环均基于单线程和异步I/O,但Node.js使用libuv处理I/O、特有setImmediate和process.nextTick,且无UI渲染,而浏览器需处理用户交互和页面更新。