首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

JavaScript 能否在 SVG 中插入 HTML div 元素?

     編輯:程式設計綜合問答

直接回答

不能直接在 SVG 內插入 HTML <div>**。SVG 命名空間僅支援 SVG 元素(<rect>、<path>、<text> 等),HTML 元素會被忽略或導致渲染錯誤。

替代方案

  1. 使用 <foreignObject>:SVG 1.2+ 支援嵌入 HTML 內容。
    <svg width="300" height="200">
      <foreignObject x="10" y="10" width="100" height="100">
        <div xmlns="https://www.w3.org/1999/xhtml" style="color:red;">HTML 內容</div>
      </foreignObject>
    </svg>
    
    限制:IE/Edge 早期版本不支援,行動裝置效能較差。
  2. 改用 SVG 原生元素繪製:地圖、圖形直接用 <path>、<polygon>、<text> 等,效能最佳。
  3. 疊加 HTML 層:在 SVG 上方絕對定位一個 <div> 容器,用 CSS 定位對齊,邏輯分離更清晰。

建議

若為地圖列印模板,建議**純 SVG 繪圖**或 **SVG + 絕對定位 HTML 覆蓋層**,避免 foreignObject 相容性問題。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved