shinke1987.net
雑多な備忘録等のはず。
他のカテゴリ・タブ
目次
PR

remでサイズ指定されたSVGで発生するエラー対策

2024-08-06 2024-08-06

概要

remでサイズ指定されたSVGを利用すると、Safariのコンソールにて下記のエラー内容が表示される。

(ChromeやFirefoxでは表示されない)

[Error] Error: Invalid value for <svg> attribute width="1.2rem" (svg.html, line 8)
[Error] Error: Invalid value for <svg> attribute height="1.2rem" (svg.html, line 8)

参考資料

問題

下記内容のHTMLファイルをSafariで開くと上記エラー内容がコンソールに表示される。

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <title>svg.html</title>
</head>
<body>
<svg xmlns="http://www.w3.org/2000/svg" width="1.2rem" height="1.2rem" viewBox="0 0 24 24">
  <path fill="black"
        d="M11 17h2v-4h4v-2h-4V7h-2v4H7v2h4zm1 5q-2.075 0-3.9-.788t-3.175-2.137T2.788 15.9T2 12t.788-3.9t2.137-3.175T8.1 2.788T12 2t3.9.788t3.175 2.137T21.213 8.1T22 12t-.788 3.9t-2.137 3.175t-3.175 2.138T12 22m0-2q3.35 0 5.675-2.325T20 12t-2.325-5.675T12 4T6.325 6.325T4 12t2.325 5.675T12 20m0-8"/>
</svg>
</body>
</html>

解決策

下記コードは、上記コードを抜粋したもの。

widthとheightに注目。

<svg xmlns="http://www.w3.org/2000/svg" width="1.2rem" height="1.2rem" viewBox="0 0 24 24">

上記コードはwidth属性とheight属性を使ってサイズを設定しているが、

下記コードのようにCSSを使って設定すると上記エラーは発生しない。

<svg xmlns="http://www.w3.org/2000/svg" style="widht: 1.2rem; height: 1.2rem"  viewBox="0 0 24 24">
同一カテゴリの記事