-
Chrome下input[type="search"]清除按钮需四行CSS才能彻底隐藏:先重置-webkit-appearance:textfield,再分别禁用::-webkit-search-cancel-button、::-webkit-search-decoration和::-ms-clear伪元素,否则会出现残留、留白或错位。
-
HTML5的<mark>标签在转PDF时默认不保留高亮,需显式定义CSS样式并选用支持该标签的工具;wkhtmltopdf和WeasyPrint支持但表现不同,pdfmake/jsPDF则完全忽略,推荐用class替代并配合打印预览验证。
-
novalidate仅禁用浏览器原生表单校验,无法阻止JS发起的fetch等请求;后端必须校验,前端只负责体验优化与预检。
-
块级元素与行内元素的核心差异在于默认盒模型行为和HTML语义约束:块级元素独占一行、可设宽高、可嵌套任意元素;行内元素横向排列、宽高由内容决定、不可嵌套块级元素(如<p>内不能放<div>),否则解析器将自动闭合,破坏DOM结构。
-
HTML无法实现交互通知面板,需JS控制DOM与状态、CSS实现动效;结构须语义清晰、层级扁平、关键节点带明确属性;CSS动画应避免height:auto过渡,改用max-height或transform:scaleY();JS需维护独立未读数变量、乐观更新、多端同步及焦点管理。
-
JavaScript是现代前端唯一能响应用户操作、修改DOM、发起网络请求的执行层,HTML和CSS无交互能力;它直接操作DOM节点树,通过document对象读写元素,修改内容、类名、样式或创建插入新节点,并需与HTML语义结构和CSS规则协同设计。
-
document.readyState的取值有uninitialized、loading、interactive、complete、loaded五种,现代标准稳定可用的仅loading、interactive、complete;它用于在DOM可交互但资源未全加载时介入,比onload和DOMContentLoaded更底层可控。
-
使用Flexbox替代float可解决右对齐布局问题。float:right易导致父容器高度塌陷、元素换行错位及内容环绕,需通过clear:both清除浮动;而flex布局中justify-content:flex-end能稳定实现子元素整体右对齐,且支持响应式设计。对于部分元素右对齐需求,可对目标元素设置margin-left:auto,推动其至最右侧,其余保持左对齐。现代布局推荐优先采用Flexbox方案,避免浮动副作用,提升维护性,仅在兼容老旧浏览器时考虑float。
-
font-display:fallback不会替换字体,仅在约100ms内决定是否使用后备字体,之后永不替换;它只在@font-face中生效,需配合合理后备链与preload使用。
-
本文介绍使用ApachePDFBox库,从InputStream(如网络流、文件流)中无需加载全文即可快速、可靠地获取PDF文档总页数,适用于大文件或内存受限场景。
-
父容器被子元素撑开的典型原因是子元素的padding或border在box-sizing:content-box下额外叠加,导致尺寸超标;解决方法是统一使用box-sizing:border-box,并配合flex/grid的min-width:0、img的max-width:100%等约束。
-
fr单位按剩余空间分配比例,需先扣除内容、gap等占用空间;minmax(0,1fr)防撑爆;IE不支持;响应式推荐auto-fit+minmax;gap不跨层;命名线比数字线更可靠。
-
单行文本溢出需设置white-space:nowrap、overflow:hidden和text-overflow:ellipsis;多行则用-webkit-box和-webkit-line-clamp限制行数并加省略号;仅隐藏溢出内容可只设overflow:hidden。
-
customElements.define()不保证注册成功,需用customElements.get()验证;无unregister()API,需手动清理实例与资源;attributeChangedCallback不触发初始属性,须在connectedCallback中补读;ShadowDOM样式须在attachShadow后注入。
-
引入normalize.css是为统一浏览器默认样式差异,避免因用户代理样式表导致的布局错位、表单控件不一致等问题,它校准渲染但不改变语义,需正确加载且不可替代UI规范。