-
使用float布局图片时,需统一图片尺寸、设置固定宽高和一致margin,并通过box-sizing和清除浮动确保排列整齐。
-
z-index失效主因是父元素创建了新的堆叠上下文,使子元素z-index仅在该上下文中生效;常见触发属性包括position非static且z-index为具体值、opacity<1、transform非none等。
-
slot是WebComponents中仅在ShadowDOM生效的内容分发机制,必须调用attachShadow()创建影子根,且外部内容须为自定义元素的直系子元素;具名slot严格按name字符串匹配,::slotted()仅支持直系子元素选择器。
-
一个页面只能有一个<main>元素,且不能嵌套在<header>、<footer>、<nav>、<aside>内;它必须包裹本页独一无二、不可复用的核心内容,否则将损害可访问性、SEO及Lighthouse评分。
-
place-items是CSSGrid专用简写属性,用于同时设置justify-items和align-items,仅在display:grid容器上生效,控制直接子项在网格单元格内的对齐,不适用于Flex或普通块级布局。
-
column-fill在Grid布局中完全不起作用,因为它是多列布局(CSSColumns)专属属性,与Grid布局模型无关;一旦使用display:grid,浏览器即进入Grid计算逻辑,所有多列相关属性(如column-fill、column-gap等)均被忽略。
-
CSS变量不支持语法嵌套,但可通过命名约定和作用域实现逻辑层级。1.无法像编程语言那样嵌套定义变量;2.可采用BEM风格命名如--color-primary模拟层级;3.利用作用域在不同选择器中覆盖变量值,实现主题切换;4.支持变量间引用,通过var()构建依赖关系,集中管理设计系统。核心是借助级联与继承而非语法嵌套。
-
锚点跳转失效主因是id重复、非法字符、隐藏或DOM未就绪;href需规范书写,注意大小写与路径;CSS用scroll-margin-top或JSscrollIntoView补偿固定导航栏;SPA中需手动处理hash定位。
-
必须先用gl.getUniformLocation获取uniform位置并检查是否为null,再用gl.uniformMatrix4fv传列主序的16元素数组,且需确保当前绑定正确program。
-
discard后JS环境已终止,无法监听;唯一可靠信号是pageshow且persisted===false,需结合URL标记、localStorage时间戳、navigation.type交叉验证;保存现场仅能在freeze事件或pagehide且persisted===true时完成。
-
letter-spacing调整字符间距,word-spacing控制单词间距,两者配合可提升文本可读性与设计感;前者适用于标题或字体微调,后者多用于英文段落增强呼吸感;合理设置正值或负值能优化视觉效果,避免过大间距破坏语义连贯,掌握叠加规则使排版更精准。
-
@debug在编译时将变量或表达式原始值(如10px、rgba(0,0,0,0.5))输出到终端,不生成CSS,用于快速验证逻辑;但遇null或未定义变量会报错中断编译。
-
在Angular16中,父组件无法向子组件正确传递@Input()数据,通常源于模板中属性绑定语法位置错误:输入属性必须写在自定义元素标签内(如<childInbox[inboxRowsQuantity]="inboxRowsQuantity">),而非标签外。
-
旋转偏移因默认以左上角为原点,需设transform-origin:center;rotate()角度必须带单位如360deg;避免box-shadow、overflow:hidden等触发重排降级;动画优先级高于transition,推荐用animation而非混用。
-
关闭Preflight需在tailwind.config.js中设置corePlugins.preflight:false,使Tailwind跳过生成@tailwindbase的CSS;prefix:'tw-'后所有utilityclass自动加前缀,不影响自定义类名;important:true并非万能解药,会引发调试困难与冲突;CSS加载顺序不可靠,推荐prefix+preflight:false+twMerge组合方案。