-
flex-direction本身不能实现多行文本垂直居中,真正起作用的是align-items(交叉轴居中)和justify-content(主轴居中),需配合display:flex容器、明确高度及清除子元素默认margin。
-
abbr标签的title属性必须显式设置才能显示悬停提示,否则无任何提示;其原生tooltip不可被CSS修改,读屏工具优先读aria-label,但悬停仅显示title,自定义交互需改用span+aria-describedby方案。
-
placeholder属性仅支持<inputtype="text/search/tel/url/email/password">和<textarea>,不支持number、date、select等标签;它非可访问内容,不应替代<label>,也不等同于默认值或提示说明。
-
答案是用视觉和节奏引导注意力。设计产品展示页需遵循“快、准、直”:首屏聚焦核心卖点,模块化布局突出价值;通过滚动动效、点击切换等轻量交互提升体验;适配移动端,优化加载与操作;在关键位置设置简化表单和悬浮按钮,推动转化。
-
小屏表格横向溢出应优先降级为语义化块级布局(如grid/flex),或用卡片式垂直排列;若保留table,需外层容器加overflow-x:auto和-webkit-overflow-scrolling:touch,并避免white-space:nowrap。
-
默认情况下input和label在Flex容器中垂直不对齐,因表单控件baseline位置不统一且align-items:stretch下拉伸加剧错位;推荐统一box-sizing:border-box并设align-items:center(单行控件)或baseline(含textarea时微调)。
-
JavaScript正则匹配需精准选用test()、match()、matchAll():test()仅判布尔值,带g时需重置lastIndex;match()无g返回首匹配详情,有g则丢弃捕获组;matchAll()是获取全部带捕获组匹配的唯一可靠方式,必须带g且返回迭代器。
-
页面样式不生效最常见的原因是link标签引入CSS失败,需检查是否置于head中、rel="stylesheet"是否遗漏、href路径是否正确、有无空格或中文标点;通过Network面板查看状态码判断加载情况;再排查样式覆盖、编码格式、扩展名及@import使用等问题。
-
不能。PostCSS本身不提供自动合并CSS模块的能力,仅作为样式处理管道,需依赖插件组合实现;postcss-import负责显式导入替换,postcss-nested支持嵌套语法,二者配合可实现可控拼接。
-
CSS变量本身不减少重绘,仅当配合will-change、图层提升及慎用属性(如color而非width)时才高效;需避免伪类覆盖、组件级重复声明,并通过间接映射实现transition。
-
要让CSS热更新生效,必须同时启用HMR(devServer.hot:true)、使用style-loader(非MiniCssExtractPlugin.loader)处理CSS、且开发环境禁用MiniCssExtractPlugin。
-
HTML5已废弃table的align="center",因其实际使表格变为inline-table导致居中不可靠;可靠方法是CSS设置margin:0auto并指定width(如width:80%或max-width:800px)。
-
JavaScript是事件驱动、基于对象与原型、单线程但支持异步的浏览器编程语言;初学应先理解事件绑定、对象属性方法、const/let作用域及异步概念,再渐进深入。
-
手动实现符合Promises/A+规范的Promise核心类需严格遵循状态机(pending/fulfilled/rejected)、then链式返回新Promise、值穿透、错误冒泡,并必须通过queueMicrotask或Promise.resolve().then进行微任务调度;同时需实现resolvePromise处理返回值,以及catch、resolve、reject、all等语法糖。
-
transition需状态变化触发,如hover,适用于简单属性渐变;2.animation通过@keyframes定义关键帧,可自动播放,支持复杂动画序列;3.animation提供更精细的播放控制,如延迟、循环、方向等;4.两者兼容性良好,但建议优先使用transform和opacity以提升性能。