-
HTML不是编程语言,它没有逻辑、不处理数据、也不控制流程,仅定义网页结构和内容语义;必须以<!DOCTYPEhtml>和<html>开头确保浏览器正确解析,标签使用需遵循语义规则。
-
推荐使用overflow-wrap:break-word解决长单词溢出,它优先保持单词完整,仅在必要时断行;而word-break:break-all会无差别切割,影响可读性。
-
图片不显示的四大原因:路径错误(相对HTML文件)、img标签不规范(未自闭合或缺alt)、CSS隐藏(如overflow:hidden或vertical-align问题)、格式兼容性差(如WebP不支持)。
-
用CSSGrid实现响应式书架网格的核心是grid-template-columns:repeat(auto-fit,minmax(240px,1fr)),配合gap:1.5rem、卡片内flex-column布局、封面图aspect-ratio:2/3+object-fit:cover、交互仅用transform/opacity避免重排,以及文字用-webkit-line-clamp和clamp()自适应截断。
-
ShadowDOM中自定义事件target混乱的根本原因是未设composed:true;必须同时满足bubbles:true和composed:true,外部才能正确接收事件,且event.target被重定向为宿主元素属正常设计,真实目标需用event.composedPath()[0]获取。
-
box-shadow动画无反应的主因是初始或悬停状态使用了none或不合法值,导致浏览器无法插值;应始终用合法rgba值(如0000rgba(0,0,0,0))起始,并协同调整blur-radius、offset和alpha实现自然扩散效果。
-
设置overflow-y为auto或scroll可解决内容截断问题,1.容器固定高度搭配overflow:hidden会导致溢出内容被隐藏;2.使用overflow-y:auto在垂直方向超出时自动显示滚动条;3.可配合overflow-x:hidden控制横向不滚动;4.需避免子元素的绝对定位或flex布局破坏滚动结构。
-
侧边栏显隐必须用视口媒体查询而非容器查询,因其属页面级布局决策;小屏下应设display:none并调整grid-template-columns为单列,避免仅改列宽导致布局错乱。
-
绝对定位元素默认不撑开宽度是因为脱离文档流后width按内容收缩(shrink-to-fit),而非占满父容器;max-width仅作上限约束,需配合无双侧定位、white-space控制及内容自然换行状态才能生效。
-
JavaScript模拟私有状态有三种主流方式:闭包封装(构造函数内声明变量并暴露方法)、工厂函数(返回对象,语义清晰)、WeakMap(键为实例,支持原型复用且垃圾回收友好),但均为约定式保护,新项目应优先使用ES2022私有类字段#field。
-
必须在服务端用bleach.clean()白名单过滤HTML,前端净化仅为补充;禁用|safe直接输出,需显式配置tags、attributes及protocols;禁止strip_tags/正则等不可靠方案;属性值须二次转义;富文本白名单须按业务最小权限控制。
-
<scriptsetup>是Vue3.2+官方推荐的编译时语法糖,简化CompositionAPI使用、提升类型推导精度与性能;需用ref/reactive创建响应式数据,props/emits通过defineProps/defineEmits声明,组件方法需defineExpose暴露,组合式API需显式导入。
-
禁用user-scalable=yes是解决移动端浮动错位的关键,因其放大缩放时亚像素误差导致换行与间隙;应改用现代布局(如flex/grid)替代float。
-
Intl对象是浏览器和Node.js原生国际化API,无需第三方库即可精准适配全球日期、数字、货币等本地化格式,基于ICU实现高性能格式化。
-
crossorigin="use-credentials"由浏览器自动携带Cookie等凭证,模块加载器不管理Token;服务端必须返回精确Origin域名和Access-Control-Allow-Credentials:true,缺一则加载失败。