-
浮动元素后面为什么总有看不见的空白?因为浮动元素脱离了文档流,后续块级元素会“无视”它原本占位,但行内内容仍会绕排——浏览器渲染时会保留浮动前最后一行基线到容器底边的距离,形成视觉上的空白间隙。这不是bug,是CSS规范里明确定义的clear行为前提。用clear清除浮动后空白的正确姿势直接在浮动元素后的第一个块级元素上加clear:both,不是给父容器加,也不是随便套个空就完事。clear:both必须作用于紧跟在浮动元素之后、且参与正常流的块级元素(比如、)
-
CORS是浏览器与服务端协同实现的跨域解决方案,核心在于服务端正确响应预检请求及返回相应CORS头,前端无法单方面绕过同源策略。
-
HTML5无需安装,其开发关键在于正确配置VSCode环境与浏览器调试选项。需用LiveServer解决跨域,禁用实验性设置,通过DevTools确认协议及存储行为,并在必要时安装Node.js支持构建与本地服务。
-
Atom无法直接运行HTML文件,需借助浏览器预览。1.可安装open-in-browser插件实现右键快速打开;2.编写并保存文件为.html格式;3.通过插件、双击文件或拖入浏览器方式查看效果;4.推荐使用LiveServer或PythonHTTP服务器实现热更新预览,提升开发效率。
-
hsla()的alpha参数为0–1小数而非百分比,正确写法如hsla(0,0%,100%,0.5);优先用background-color而非background简写以防覆盖其他背景属性;HSLA调色更直观但计算略慢于RGBA;需兼容旧IE时应降级为纯色加半透明PNG。
-
关键在于正则是否被缓存复用且带g标志并被闭包长期持有,导致lastIndex持续变化干扰匹配;典型表现为对同一字符串连续test结果交替,或lastIndex非零时从中间匹配。
-
text-overflow:ellipsis必须同时满足三个条件才生效:white-space:nowrap、overflow:hidden和明确的宽度限制(如width或max-width);仅支持单行省略,多行需借助-webkit-line-clamp等方案。
-
Symbol.isConcatSpreadable仅在Array.prototype.concat()中控制传入参数是否展开,不参与继承,只检查参数对象自身属性,不沿原型链查找。
-
autofocus仅在页面初始加载时对静态HTML元素生效,动态插入、模态框、框架组件中均失效,需用JavaScript显式调用.focus()并配合时机控制与兼容性处理。
-
viewport-fit=cover是iOSSafari(11.2+)中允许网页内容渲染到安全区外的声明,需配合env()函数使用,且必须与width=device-width、initial-scale=1.0共存才生效;安卓端完全忽略该属性。
-
用Map存储函数引用是轻量级元编程,关键在于安全存储、快速查找和稳定扩展;需依场景选容器,统一接口封装函数,并分离注册与执行流程。
-
CSS变量中带空格的字体名必须将引号写入变量值内,如--font-main:"HelveticaNeue",sans-serif;fontshorthand不支持var(),须显式声明font-family。
-
答案:使用HTML5Canvas结合JavaScript绘制动态时钟,通过arc绘制表盘外圈,createRadialGradient实现渐变填充,for循环绘制12个刻度及数字,利用translate和rotate变换简化指针旋转逻辑,通过requestAnimationFrame实现每秒更新动画,配合save/restore保持坐标系状态,最终呈现一个带立体感渐变、平滑转动的模拟时钟。
-
仅写appearance:none无法清除iOS输入框内阴影,必须搭配-webkit-appearance:none和background-color:transparent、border:1pxsolidtransparent、outline:none、padding与line-height显式设置这4+关键项,否则阴影照旧。
-
grid-template-areas必须每行引号内字符数相等、区域名不重复不遗漏、空白用"."占位;grid-template-columns/rows单位需按fr/px/auto语义合理搭配;grid-template简写顺序固定为行/列/区域,缺项需用/占位;其值不支持CSS变量或表达式。