-
@counter-style规则需先用@counter-style注册再通过list-style显式调用才生效,仅定义不调用无效;作用域限于list-item,嵌套列表需每层单独声明;Safari15.4+才支持;中文编号推荐cyclic+suffix;复杂编号仍需counter-increment+counter()。
-
属性描述符用于控制对象属性行为,分为数据描述符和访问器描述符。数据描述符包含value、writable、enumerable和configurable,决定属性值及可写性;访问器描述符通过get和set函数自定义读写逻辑。两者不可混用。使用Object.defineProperty()定义单个属性描述符,Object.defineProperties()批量定义,Object.getOwnPropertyDescriptor()查看现有描述符。enumerable控制是否可枚举,configurable
-
图片在flex容器中被拉伸变形的根本原因是默认flex-shrink:1与align-items:stretch共同作用,解决关键是img{flex-shrink:0;width:100%;height:auto;},并依flex-direction调整尺寸声明。
-
文本居中用text-align:center,仅对行内内容生效;块级元素水平居中用margin:0auto(需定宽且非浮动/绝对定位);Flex布局推荐justify-content和align-items双居中;绝对定位居中需配合transform:translate(-50%,-50%)。
-
使用Promise封装WebWorker通信能有效解决请求响应匹配困难、回调地狱和错误处理复杂等问题。具体步骤为:1.主线程为每个请求生成唯一requestId并与Promise的resolve/reject方法关联存储;2.封装postMessage方法,返回基于requestId的Promise;3.在onmessage中根据requestId匹配并调用对应的resolve或reject;4.Worker端解析requestId并回传结果或错误;5.增加超时机制避免无限等待;6.统一处理Worker端
-
Flex容器默认不换行,关键在于flex-wrap属性(默认nowrap);开启wrap后子项仍不换行需检查flex-shrink和宽度设置;多行对齐用align-content而非align-items。
-
首先确认Angular项目已正确初始化并配置路由,通过AngularCLI创建项目并启用路由功能;接着在app-routing.module.ts中定义路径与组件映射,并确保app.component.html包含router-outlet;然后使用nggeneratecomponent命令创建所需组件并自动注册到app.module.ts;随后优化index.html和根组件模板,使用routerLink实现导航;最后运行ngbuild--prod将应用打包并部署至静态服务器,配置重写规则避免404错误
-
最直接且语义化的方式是使用<inputtype="week">,它在支持的浏览器中提供年份和周数选择控件,值格式为YYYY-Www;但Firefox和部分Safari不支持,会退化为文本框,需通过JavaScript或第三方库实现兼容性处理。
-
video标签需同时添加webkitallowfullscreen和allowfullscreen属性,且须满足格式、尺寸、触发时机等五项条件才能在iOSSafari等移动端正常全屏。
-
ES6模块导出的是绑定而非值,加载在编译时完成且不支持条件导入;需用import()动态加载;exportdefault为匿名导出,具名导出需按名匹配;Node.js中需配置"type":"module"或使用.mjs后缀;绑定机制导致变量修改实时同步。
-
HTML5无原生幻灯片功能,需用Swiper等JS库或CSS动画实现;Swiper推荐用于响应式轮播,需严格HTML结构和DOM加载后初始化;纯CSS方案功能受限且无自动播放;禁用iframe嵌PPT。
-
闭包是指函数能访问并记住外部作用域变量,即使外层函数已执行完毕。如inner函数持续引用outer中的count,实现私有变量、事件回调数据保持、函数工厂等场景,但也需注意内存泄漏问题。
-
:required仅匹配required属性且不自动添加星号或提示,需手动用::after或HTML实现;优先级低易被覆盖,IE10+支持但IE不支持input上::after;动态添加属性即时生效,但不可替代服务端校验。
-
link标签通过rel="stylesheet"引入CSS,浏览器会异步下载CSS文件并构建CSSOM,阻塞渲染但不完全阻塞HTML解析,需注意与JS交互时的阻塞问题,建议内联关键CSS、预加载和压缩资源以优化性能。
-
浏览器限制:visited仅能设置少数颜色类属性(如color)以防止隐私泄露,其他样式如background、transition均被忽略;:link与:visited互斥且仅对有效URL的<a>标签生效。