-
核心是用repeat(auto-fill,minmax(250px,1fr)))实现列数自适应:每列最小250px,剩余空间均分,auto-fill保持列宽稳定,gap控制间距;minmax第二参数禁用固定像素,推荐1fr。
-
bind创建的函数this在绑定时即固化且不可变,即使再bind、call或apply也无法更改;同时支持预设参数实现柯里化。
-
答案:使用Flexbox实现侧边栏与内容区布局时,通过设置container的display:flex,结合flex-grow与flex-shrink控制空间分配;固定宽度侧边栏可设width和flex-shrink:0,内容区用flex-grow:1占满剩余空间;按比例布局时使用flex:1和flex:3等简写,配合flex-basis设定基准宽度,实现自适应与响应式效果。
-
结论:别用calc()+float封装三栏布局Mixin——兼容性假象大,维护成本真高,现代项目里纯属倒退。因calc()在旧版Safari等浏览器中存在解析异常,float布局本身已过时,且现代项目应优先采用Flexbox或Grid。
-
Symbol属性不可枚举,需Object.getOwnPropertySymbols()获取;作为原型属性时既隐式又可被继承访问,适合定义唯一协议方法(如serializable),避免命名冲突,支持跨模块共享、自动委托、运行时检测及多协议组合。
-
<p>JavaScript本身不支持注解语法,但可通过JSDoc注释为变量添加类型和说明,如/*@type{string}/constuserName="Alice";,配合工具实现类似功能。</p>
-
grid-auto-flow:column实现的是列优先填充而非单行横排,需配合grid-auto-columns、overflow-x和尺寸约束才能实现可滚动水平列表。
-
clamp()三个参数需验证生效区间:最小值16px在375px屏下对应2.5vw=9.375px<16px,故取16px;最大值24px在960px屏下2.5vw=24px,超此宽度即锁死24px;真正线性缩放仅发生在约640px–960px之间。
-
JavaScript语音识别主要依靠WebSpeechAPI的SpeechRecognition接口,需检测兼容性、处理权限与事件,适合网页实时转文字;不支持Safari,复杂需求需接入云服务或WebAssembly模型。
-
sandbox属性加了即“全锁死”:JS不执行、表单不提交、弹窗失效、localStorage不可读写,仅postMessage可用;须显式添加allow-scripts等白名单token才能放行对应能力。
-
CSScomb是一款用于统一CSS属性顺序的格式化工具,支持多种样式语言并通过配置文件定义排序规则。安装后可命令行运行或集成至编辑器实现自动整理,提升代码可读性与维护性。团队使用时应统一配置并注意属性层叠影响,合理应用可有效规范样式书写,适合纳入前端工程化流程。
-
答案:使用Flexbox居中需根据主轴方向正确设置align-items和justify-content。当flex-direction为row时,justify-content控制水平居中,align-items控制垂直居中;改为column时,主轴变为垂直方向,justify-content控制垂直居中,align-items控制水平居中,通过调整两属性可实现任意居中布局。
-
邮件链接用mailto:协议,需紧接合法邮箱且无空格;电话链接用tel:协议,国际号码须+开头E.164格式;协议名全小写,移动端有效,微信内置浏览器有限制。
-
Grid嵌套需每级容器显式声明display:grid;grid-column应配合固定列轨道定位而非span;小屏须用display:none控制子菜单显隐;父容器overflow必须设为visible防裁剪。
-
BEM在移动端CSS中是防崩刚需,因其能解决position:fixed层级错乱、DPR下font-size失准、iOSSafari伪类失效等由选择器耦合引发的隐蔽问题。