-
应使用<textarea>实现多行文本输入,它原生支持换行、滚动和响应输入;<inputtype="text">无法通过rows/cols变为多行,且<textarea>必须闭合、用.value读写内容、靠CSS精确控制尺寸。
-
inline-block通过使元素并排排列且保留宽高,替代float实现布局,避免高度塌陷,无需清除浮动,配合font-size:0等方法可消除间隙,支持vertical-align对齐,相比float更易管理,适用于兼容老浏览器的轻量级场景。
-
HTML里加空格为什么经常“不生效”因为浏览器默认会把连续的空白字符(空格、换行、制表符)合并成一个空格,甚至直接忽略首尾空格。这不是bug,是HTML规范行为——它只关心内容结构,不负责排版细节。常见错误现象: 用多了页面错位、(普通空格)在代码里写了七八个,渲染出来还是一个;用pre标签又导致文字不能换行或样式失控。纯文本场景(如按钮文字、标题中微调间距):优先用 需要保留多空格+换行的代码/日志展示:用组合想控制某几个词之间的间距:改用CSS的le
-
multiple属性仅对<inputtype="file">和<select>有效:前者支持多文件选择并返回FileList,后者启用多选需配合size属性且须用selectedOptions获取值;其他元素添加无效。
-
rgb()不支持透明度,rgba()第四个参数为alpha值(0–1);hsla()同理,hue用deg、saturation和lightness须带%;#RRGGBBAA是新十六进制透明写法;opacity作用于整个元素,而颜色alpha仅影响该颜色。
-
使用:required伪类可为必填表单控件添加视觉高亮,如红色边框和浅红背景;结合:has()在label旁加红色星号;用:invalid:not(:placeholder-shown)强化提交失败反馈;需兼顾可访问性与服务端校验。
-
答案:CSS的@keyframes规则用于创建自定义动画,通过定义0%、50%、100%等关键帧控制样式变化,如slideIn实现元素从左滑入并淡入;可用from/to替代0%/100%简化语法,如fadeIn实现透明度过渡;通过animation属性将动画绑定到元素,可设置持续时间、速度曲线、延迟、次数和方向,支持简写形式;可通过添加中间帧实现复杂效果,如bounce弹跳动画;建议仅动画transform和opacity以提升性能,避免触发布局重排,并结合will-change优化渲染,移动端需控制动画
-
Magic.css动画在Chrome不触发的根本原因是元素初始即处于终态,浏览器跳过动画;需确保可见、无动画类,并用requestAnimationFrame延迟添加class,避免与transition混用。
-
WebAudioAPI的play()不支持混音,必须用AudioContext搭建路由,通过GainNode等节点处理信号;HTMLMediaElement仅适合单轨播放,AudioBufferSourceNode才是混音基础。
-
CSScomb是一款用于统一CSS属性顺序的格式化工具,支持多种样式语言并通过配置文件定义排序规则。安装后可命令行运行或集成至编辑器实现自动整理,提升代码可读性与维护性。团队使用时应统一配置并注意属性层叠影响,合理应用可有效规范样式书写,适合纳入前端工程化流程。
-
JavaScript的class是原型继承的语法糖,不改变面向对象模型;class声明不提升,表达式适合动态定义;子类constructor必须先调super()才能用this;私有字段(#)仅类内可访问,静态方法不可访问实例属性,字段初始化不能调用实例方法。
-
font-weight数值不生效主因是字体不支持该字重;需确认是否为可变字体、检查@font-face声明与字体元数据匹配,并用开发者工具验证实际解析值。
-
JavaScript高效开发需按场景选用特性:动态属性访问用?.和??防错,高频动态键用Map;闭包与柯里化复用逻辑但需防内存泄漏;异步用Promise.all并发而非盲目await;原型继承比class更轻量;须明确代码所处执行阶段。
-
JavaScript对象是键值对集合,属性访问用点号(合法标识符)或方括号(动态/特殊字符);方法需加()调用,否则仅获函数引用;访问不存在属性返回undefined,安全处理用可选链?.或类型检查。
-
WKWebView中<progress>标签需显式设置宽高、避免-webkit-appearance:none干扰,默认不触发change事件,应通过input事件或postMessage与原生交互,且不支持用户拖拽。