-
用Props实现表格排序和过滤的核心是状态上提:父组件管理sortBy、sortDir、filterText等状态并传给子组件,子组件仅渲染和触发onSort等回调,不维护状态;排序过滤分页顺序为先过滤、再排序、最后分页,逻辑置于父组件或自定义Hook中,子组件只接收displayData和total。
-
可通过四种CSS方法创建大圆形元素:一、div+border-radius:50%;二、SVG的circle元素;三、伪元素:before/:after;四、clip-path:circle()裁剪。
-
最简写法是给图片容器设background:rgba(0,0,0,0.4)并配合position:relative;需注意z-index层级、伪元素content必写、移动端加transform:translateZ(0)触发GPU渲染。
-
JavaScript中var声明会提升并初始化为undefined,而let/const仅提升声明、不初始化,访问时触发TDZ报错;var是函数作用域,let/const是块级作用域,for循环中let每次迭代创建新绑定,避免闭包陷阱。
-
核心是自动转义插值内容防XSS,如将<转为<,并提供显式不转义语法如{{{}}}供安全可控的HTML输出。
-
HTML压缩需五步:一、删空白与注释;二、压缩内联CSS/JS;三、移无用属性与标签;四、用html-minifier-terser批量处理;五、启用Gzip/Brotli服务端压缩。
-
HTML5通过input类型、required、minlength、maxlength、min、max和pattern等属性实现内置表单验证,结合placeholder和title提示,可高效完成常见前端校验,无需JavaScript。
-
在angular.json的styles数组中引入的CSS文件全局生效,注入<head>,优先级高于组件样式,但不影响innerHTML渲染内容和ShadowDOM组件。
-
text-size-adjust是iOSSafari中默认启用的CSS属性,会强制放大小于约16px的文字,导致布局错位、行高异常;应设为-webkit-text-size-adjust:100%并配合固定line-height与合理font-size精确控制排版。
-
右上角“塌陷”因border内切导致,应抽离元素用absolute定位+border-bottom/border-left外撑;伪元素transition需用opacity+transform而非display;clip-path直观但Safari旧版兼容差。
-
面包屑导航必须用<nav>包裹并配aria-label,内部用<ol>嵌套<li>保证语义与顺序;BEM类名须严格对应层级,分隔符优先用伪元素实现,响应式需保留首尾及当前页上下文。
-
getElementsByTagName返回HTMLCollection,是类数组对象但无map/filter/forEach方法;需用Array.from或扩展运算符转为真数组,或用for循环遍历;大小写不敏感,只读且不可修改。
-
display:none使width/height完全失效,元素从渲染树移除,尺寸不可读取;inline元素默认忽略宽高;flex/grid容器对齐方式会压制子项尺寸;box-sizing变更影响宽高计算基准。
-
本文详解React轮播背景组件中imageIndex变为NaN的根本原因(模运算%0),并提供优化方案:依赖photos数组的正确effect依赖、移除冗余state、简化索引逻辑,确保背景图稳定循环切换。
-
background-size是CSS中控制背景图缩放的核心属性,需配合background-image使用且仅对设置背景图的元素生效;常见值包括cover、contain、100%100%、指定像素及auto组合,须协同background-position和background-repeat使用;响应式场景推荐媒体查询或clamp();搭配background-attachment:fixed时易失效,应谨慎处理。