边框未消失是因为仅设border="0"或table{border:none}不足够,必须同时清除table、th、td的border并设置border-collapse:collapse,否则浏览器UA样式或框架默认样式仍会渲染单元格边框。

只设 border="0" 或只写 table { border: none; },边框线大概率还在——不是你代码错了,是浏览器默认渲染逻辑在“偷偷画线”。
为什么 border="0" 有时无效?
HTML 的 必须同时处理三层:表格容器、单元格、边框合并逻辑。缺一不可。 示例: 视觉效果一样,但底层行为不同: 将 Markdown 文章转换为微信公众号兼容的纯 HTML 格式。当用户要求"转成微信格式"、"生成公众号文章 HTML"、"排版到微信草稿箱"、"微信粘贴格式"时触发。输出带内联样式的纯 HTML,微信编辑器可直接渲染,无需额外适配。支持标题、段落、列表、粗体、行内代码、表格、引用块、代码块、配图的完整转换。 即使你清掉了所有 最保险的做法:打开 DevTools,逐层检查 border 属性只控制 元素自身的边框,不作用于
和 。而现代浏览器(尤其是 Chrome、Safari)对单元格有独立的 UA 样式,比如 border-style: inset,此时 border-width: 0 仍可能渲染出灰线。
border="0" 是 HTML 属性,优先级低,容易被 CSS 覆盖table, th, td 加 border: 1px solid,必须显式覆盖border-collapse: separate(默认值)下的 border-spacing 渲染敏感,2px 间距会形成“假边框”真正生效的三步清除法
table、th、td 都加 border: none 或 border: 0(推荐后者,兼容性更稳)border-collapse: collapse 到 table 上,强制合并相邻边框,消灭缝隙outline、box-shadow 或 background-image 模拟的网格线table, th, td {
border: 0;
border-collapse: collapse;
}
border: 0 和 border: none 有什么区别?border: none 会把 border-style 设为 none,而 border: 0 只清宽度,style 可能还是 inset 或 groove——某些 UA 样式下,0px solid 比 none 更可靠。
input)用 border: 0 更稳妥border: 0 + border-collapse: collapse 组合成功率最高border: 0 和 border-style: none 同时写没意义,后者会被前者覆盖容易被忽略的“隐形边框源”
border,线还可能来自:
transform: translateZ(0) 强制 GPU 渲染(小概率但真实存在)gap 当“分隔线”,实际是空白区域,应设 gap: 0
::before/::after 或 JS 动态插入的装饰线,需 inspect 元素确认来源table、th、td 的 computed styles,看 border-top-style 和 border-collapse 是否真为 none 和 collapse。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










