前端技术文章
-
list-style-position:outside是对齐混乱的根源,因序号绘制在内容框外且不参与盒模型计算,导致序号与文字左边缘错位;应设为inside并统一重置ul/ol的margin和padding,配合box-sizing:border-box与明确line-height确保稳定对齐。213 收藏 -
HTTPS页面加载HTTP资源会被现代浏览器默认阻止,主动混合内容(如script、iframe)直接报错阻断,被动内容(如img)在Chrome94+也统一阻止;应将所有http://替换为https://,并检查API、第三方SDK及构建流程。446 收藏 -
水波纹动画不必强制使用::after或::before,但伪元素最稳妥;需父容器relative定位、content:""、translate(-50%,-50%)居中,JS计算点击相对坐标,搭配cubic-bezier缓动与animation-fill-mode:forwards。274 收藏 -
自定义占位文字样式"> ::placeholder伪元素仅能美化已通过HTMLplaceholder属性设置的占位文字,不可添加内容;必须写全四套浏览器前缀(::-webkit-input-placeholder、::-moz-placeholder、:-ms-input-placeholder、::placeholder)才兼容各环境,且仅支持color、font-size、opacity等有限文本样式,禁用background、padding等盒模型属性。330 收藏 -
函数作用域优化是分层实践:第一层组件级管理局部状态与生命周期;第二层模块级封装复用逻辑并隔离副作用;第三层服务级按需注入、延迟初始化;第四层运行时控制执行流与临时上下文。234 收藏 -
页脚社交链接应使用带https://、rel="noopenernoreferrer"和target="_blank"的标签,图标优先内联SVG并添加aria-label,用CSSGrid实现响应式布局,确保移动端点击区域≥44×44px。267 收藏 -
用::after而非span因更轻量、语义干净且不增加DOM节点,但必须设父容器position:relative,否则定位错乱;::after需content:"",且不被屏幕阅读器识别,重要信息须配合aria-label。388 收藏 -
iOSSafari从初版起就明确不支持background-attachment:fixed,会静默降级为scroll;AndroidChrome也存在兼容性问题,推荐用::before伪元素+position:fixed替代,并注意z-index、clip-path、backface-visibility等关键细节。471 收藏 -
Sticky定位需降级处理:先用position:fixed兜底,再用@supports检测并覆盖为sticky;不支持时可用JS检测加类名模拟,但须修复fixed导致的布局断裂问题。292 收藏 -
QtC++实现WebSocket客户端需正确初始化QWebSocket、绑定信号(推荐Qt::QueuedConnection)、显式链接websockets模块(QT+=websockets),并确保URL协议与服务端模式匹配(ws://对应NonSecureMode,wss://对应SecureMode),否则运行时崩溃或静默失败。395 收藏 -
Chrome打印预览中页眉页脚开关在Ctrl+P/Cmd+P打开的打印面板右下角“更多设置”内,需取消勾选“页眉和页脚”复选框;@page仅支持页边距设置,:first伪类不可嵌套样式;position:fixed页眉页脚在PDF中仅首屏渲染;页码必须用class="pageNumber"和"totalPages",否则不生效。468 收藏 -
页码导航需JavaScript控制数据切片与DOM更新,配合语义化HTML(如<navaria-label="Pagination"><ol>)和CSS,确保无障碍、可打印及URL同步。257 收藏 -
提取 HTML 属性中的纯文本内容时,避免使用正则表达式是关键,因为 HTML 的复杂性和多样性可能导致正则表达式失效或产生意外结果。以下是安全高效的方法:1. 使用 DOM 解析器(推荐)DOM 解析器可以正确解析 HTML 结构,避免正则表达式的陷阱。示例(Python):from bs4 import BeautifulSoup html = '
本文介绍为何不应使用多层正则替换清理HTML标签,推荐使用DOMParser解析并提取innerText的健壮方案,兼顾安全性、可维护性与浏览器兼容性。本文介绍为何不应使用多层正则替换清理HTML标签,推荐使用DOMParser解析并提取innerText的健壮方案,兼顾安全性、可维护性与浏览器兼容性。在前端开发中,常需从HTML属性(如title)中提取“无标签的纯文本”。初学者易倾向用链式.replace()配合多个正435 收藏
pattern属性是:valid生效的前提,仅对文本类输入有效且需注意全匹配机制、移动端兼容性及JS补位校验。326 收藏
提升JavaScript性能需从执行逻辑、资源加载和模块组织入手,首先减少主线程负担,通过任务分片、requestIdleCallback和WebWorker避免阻塞;其次按需加载,利用动态import实现路由级和组件级代码分割;再者借助Webpack或Vite配置splitChunks、vendorchunk和manualChunks优化打包;最后减少闭包开销,避免内存泄漏,合理管理事件监听与全局变量。143 收藏