-
主轴方向由flex-direction决定,必须配合display:flex使用;row(水平向右)、row-reverse(水平向右但顺序反转)、column(垂直向下)、column-reverse(垂直向下但顺序反转);justify-content仅在已定主轴上分配空间,不改变方向。
-
HTML5SpeechSynthesisAPI可通过JavaScript让网页“说话”。其核心步骤为:1.创建SpeechSynthesisUtterance对象并设置文本、语速、音调等属性;2.使用speechSynthesis.speak()方法播放语音。检测浏览器支持的方法是检查window.speechSynthesis是否存在,并建议监听voiceschanged事件确保语音列表加载完成。选择语音时,可通过speechSynthesis.getVoices()获取语音列表并根据lang或name
-
节流函数的核心是控制函数在指定时间间隔内最多执行一次,通过闭包和定时器实现;2.它适用于需要规律执行的场景,如滚动、窗口缩放、拖拽等事件;3.与防抖不同,节流保证周期性执行,而防抖只在事件停止后执行一次;4.生产级实现需考虑this上下文、参数传递、leading/trailing配置、取消机制及时间戳可靠性,确保函数健壮、灵活且无内存泄漏,最终返回一个可被安全调用的节流化函数。
-
HTML5元素隐藏有六种方法:一、hidden属性(移除渲染树);二、CSSdisplay:none(不占布局);三、visibility:hidden(占位但不可见);四、opacity+transform(视觉隐藏且可交互);五、aria-hidden配合视觉隐藏类(兼顾无障碍);六、data属性+JavaScript条件渲染(动态DOM控制)。
-
<p>使用calc()可精确计算CSS盒模型尺寸,如设置总宽300px的元素时,通过width:calc(300px-20px2-2px2)减去padding和border,确保内容区宽度正确;在响应式布局中可用width:calc(100%-40px)实现自适应;但推荐全局设置box-sizing:border-box,使width包含padding和border,简化计算并提升维护性。</p>
-
progress标签需同时设置value和max才显示确定进度条;value超出范围会被自动截断;JavaScript更新value必须用数字而非字符串;样式需通过伪元素定制;默认具备无障碍支持。
-
JavaScript原型链是对象属性访问的委托查找路径,从自身开始逐级向上查找至Object.prototype后终止于null,本质是动态运行时机制而非类继承。
-
transition适合状态切换而非复杂运动,仅在属性值变化时触发,无起始/结束帧概念,由浏览器自动补间;animation需@keyframes定义关键帧,支持自动播放、循环、暂停及精确时序控制。
-
Set是JavaScript中用于存储唯一值的数据结构,其核心特点是元素不可重复。1.创建实例后通过add添加元素,重复值不会被加入;2.使用has检查存在性,delete删除元素,size获取数量;3.Set遍历可用for...of或forEach;4.清空使用clear方法;5.常见用途包括数组去重、快速查找判断、集合运算(如并集、交集、差集);6.与数组相比,Set更适合需要唯一性和高效成员检测的场景,而数组适合依赖索引顺序和允许重复的情况;7.Set可存储原始值和对象引用,但对象比较基于引用地址,
-
JavaScript压缩通过语法分析、安全替换和移除冗余减小体积并保持功能,核心是提升下载与解析速度;需结合构建工具(Webpack/Vite/esbuild)、TreeShaking、服务端Gzip/Brotli及代码拆分等策略精准优化。
-
Flex布局三步搭建页面结构:先设display:flex启用,再用flex-direction定主轴方向,最后用justify-content和align-items控制对齐及flex分配空间。
-
图片行内垂直居中困难源于vertical-align:baseline,默认使图片底部对齐文字基线;推荐用display:inline-block+vertical-align:middle,并配合显式设置父元素line-height以确保效果稳定。
-
border属于盒模型,增加元素尺寸并影响布局,而outline不占空间且不影响排列;2.border位于背景与外边距之间,outline绘制在边框外侧;3.border可单独设置四边样式,outline只能统一设置;4.outline具有可访问性功能,浏览器默认为聚焦元素添加outline以提示键盘用户,而border无此作用。两者应根据布局需求和用户体验合理选用。
-
<p>最常用方法是使用toFixed(2)结合parseFloat或Number转换为数字,因toFixed返回字符串;对于精度要求高的场景,推荐使用Math.round(num*100)/100来避免浮点数误差;若需保留两位小数的格式化输出(如金额),可直接使用toFixed(2)保持字符串形式。</p>
-
typeof判断基础类型(含function、symbol),instanceof判断引用类型是否由某构造函数创建;二者解决不同层面问题,混用易致误判。