前端技术文章
-
ruby-position只能设在ruby元素上,支持over/under/right三值,Safari16.4+才真正支持under;移动端WebView兼容差,需@supports检测或JSfallback。380 收藏 -
掌握正则高级特性可高效处理复杂文本,1.使用捕获分组()提取IP、时间等结构化信息;2.非捕获分组(?:)提升性能;3.零宽断言(?=)(?!)(?<=)(?<!)精确定位上下文;4.懒惰匹配?避免越界,占有修饰符+防回溯;5.条件表达式(?(cond)yes|no)处理可选结构,建议用工具逐步构建。380 收藏 -
Proxy用于创建对象代理以拦截和自定义操作,Reflect提供调用默认行为的统一方法,二者结合可实现日志记录、数据绑定、类型校验等功能,如通过get/set捕获器监控属性访问与修改,并利用Reflect保留原始行为,广泛应用于响应式系统(如Vue3)、数据验证和调试工具中。380 收藏 -
media属性仅参与响应式源选择而不控制播放,浏览器按顺序匹配media值(CSS媒体查询)并加载首个匹配且格式支持的<source>,省略时等价于"all",不支持JS动态修改。380 收藏 -
Base64图片内联可省HTTP请求,但仅适用于≤50KB小图标等静态资源;体积膨胀33%、阻塞CSS解析、首次渲染可能变慢,不适用于大图或动态内容。380 收藏 -
header--fixed修饰符必须直接作用于header块元素,表示其整体脱离文档流并固定于视口顶部;错误地应用于子元素会破坏BEM语义、导致布局异常与层级错乱。380 收藏 -
checked属性用于设置或获取表单元素(如单选按钮、复选框)的选中状态。在HTML中,checked 是一个布尔属性,当元素被选中时,该属性会被添加到元素中,表示该选项默认处于选中状态。1. 单选按钮(radio)对于单选按钮,checked 属性用于指定默认选中的选项。在一个组中,只能有一个单选按钮被选中。示例:
HTMLchecked属性仅控制页面首次加载的默认选中状态,后续操作改变的是DOMproperty(element.checked),而非HTMLattribute;正确修改应直接赋值checked属性,监听用change事件,CSS:checked伪类响应实时状态。379 收藏
模板字符串中反斜杠默认被转义,易致路径或正则错误;应使用String.raw获取原始字符串,它保留所有反斜杠字面意义,支持插值但不处理转义,适用于Windows路径、正则表达式等场景。379 收藏
HTML5源码可通过FTP、GitHubPages或Vercel三种方式部署:FTP需上传至Web根目录并验证访问;GitHubPages需推送到特定命名仓库并启用Pages功能;Vercel则支持零配置自动部署与CDN分发。379 收藏
使用CSS的background-image属性是设置HTML背景图片的核心方法,通过url()指定图片路径,并结合background-size、background-repeat等属性控制显示效果。常见问题如路径错误、元素无高度、CSS优先级冲突等需逐一排查。为实现响应式,推荐使用background-size:cover或contain,并配合媒体查询适配不同设备。此外,支持多重背景图叠加及与CSS渐变组合,通过逗号分隔多个值,实现丰富视觉层次,提升设计灵活性。378 收藏
心跳检测需与连接状态、业务流量、重连策略深度耦合:必须在ws.readyState===WebSocket.OPEN时发送原生Ping帧,及时清理定时器,结合业务消息重置超时,并采用指数退避+随机抖动重连,避免竞态与重连风暴。378 收藏
float在flex容器的直接子元素上必然失效,这是CSS规范强制行为,浏览器会静默将float计算值设为none,且不触发BFC;flex与float属于互斥布局机制,前者由容器统一调度子项位置,后者使元素部分脱离文档流。378 收藏
color属性默认继承父元素颜色,子元素未设置时自动沿用父级颜色;通过unset、inherit、initial或自定义值可控制继承行为;注意表单元素和链接可能不继承需单独设置。378 收藏
唯一可靠方案是使用@page+counter(page),因其由浏览器原生计数器驱动,不依赖JS、不触发重排,且被Chrome/Edge/Firefox/Puppeteer/wkhtmltopdf等主流引擎支持。378 收藏
调用ReadableStream.getReader()会独占锁住流,同一时间仅允许一个活跃reader,重复调用抛出TypeError;锁通过[[locked]]内部槽控制,禁止再次getReader()、pipeTo()、pipeThrough()及BYOB模式读取;锁确保读取顺序性,不阻塞数据流入;开启底层读取需调用reader.read(),返回Promise并触发pull()或返回缓存chunk;锁需显式释放:读完自动解锁、cancel()主动终止或finally中调用cancel()/rele378 收藏