2021.08.26

HTML・CSS

svgをCSSのbackground-imageに指定

svgをCSSのbackground-imageに指定します。IE11への対応で書き方が変わりますが、今回はIE11にも対応させます。svgのコードは以下の通りです。

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 51.86 90.91">
  <defs>
    <style>
      .cls-1{fill:#fff;}
    </style>
  </defs>
  <g id="レイヤー_2" data-name="レイヤー 2">
    <g id="レイヤー_1-2" data-name="レイヤー 1">
      <path class="cls-1" d="M1.74,10.23c13.3,13.3,26.1,26.7,40.1,40v-8.5c-13,13-26,25.9-39,38.9-5.5,5.5,2.9,14,8.4,8.5l38.9-38.9a6.1,6.1,0,0,0,0-8.5q-19.95-19.95-39.9-40c-5.5-5.4-13.9,3.1-8.5,8.5Z"/>
    </g>
  </g>
</svg>

svgのコードから不要な部分を削除します。またstyleタグによる記述部分はpathデータにインラインで記述します。今回の場合、グループ化用のgタグは不要です。またclassで色設定している部分をpathデータのfill属性に変更します。

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 51.86 90.91">
  <path fill="#ffffff" d="M1.74,10.23c13.3,13.3,26.1,26.7,40.1,40v-8.5c-13,13-26,25.9-39,38.9-5.5,5.5,2.9,14,8.4,8.5l38.9-38.9a6.1,6.1,0,0,0,0-8.5q-19.95-19.95-39.9-40c-5.5-5.4-13.9,3.1-8.5,8.5Z"/>
</svg>

最後にIE11でも表示できるように、svgのコードをツールを使ってbase64形式にエンコードします。

%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20viewBox%3D%220%200%2051.86%2090.91%22%3E%3Cpath%20fill%3D%22%23ffffff%22%20d%3D%22M50.12%2C10.23c5.4-5.4-3-13.9-8.5-8.5q-19.93%2C20.1-39.9%2C40a6.12%2C6.12%2C0%2C0%2C0%2C0%2C8.5l38.9%2C38.9c5.5%2C5.5%2C13.9-3%2C8.4-8.5-13-13-26-25.9-39-38.9v8.5c14-13.3%2C26.81-26.7%2C40.1-40Z%22%2F%3E%3C%2Fsvg%3E

これをCSSのbackground-imageに指定します。〇〇〇の部分にbase64形式にエンコードしたsvgのコードを記述します。

background-image: url('data:image/svg+xml;charset=utf8,〇〇〇');

完成したコードは以下になります。

background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20viewBox%3D%220%200%2051.86%2090.91%22%3E%3Cpath%20fill%3D%22%23ffffff%22%20d%3D%22M50.12%2C10.23c5.4-5.4-3-13.9-8.5-8.5q-19.93%2C20.1-39.9%2C40a6.12%2C6.12%2C0%2C0%2C0%2C0%2C8.5l38.9%2C38.9c5.5%2C5.5%2C13.9-3%2C8.4-8.5-13-13-26-25.9-39-38.9v8.5c14-13.3%2C26.81-26.7%2C40.1-40Z%22%2F%3E%3C%2Fsvg%3E');

関連記事

2025.07.01

HTML・CSS

mask-imageを利用したグラデーションの点線

CSSのmask-imageプロパティを利用して、グラデーションの点線を作成します。デモページはこちら グラデーションの点線は疑似要素にmask-imageプロ…

2024.06.14

HTML・CSS

90°回転させた要素をブロック要素内右側に収めるtransform-originの設定

右上に配置した長方形の要素を90°回転させた時に、親のブロック要素内に収めるtransform-originの設定です。デモページはこちら htmlは以下のよう…

2020.10.03

HTML・CSS

WAI-ARIAのaria-current属性で現在位置を指定

デモページはこちら ナビゲーションメニューにWAI-ARIAのaria-current属性で現在位置を指定します。jQueryでページのURLを判別し、対象のa…

2020.09.14

HTML・CSS

metaタグのformat-detectionで自動リンクを無効化

デモページはこちら metaタグのformat-detectionを設定して、スマホのブラウザで電話番号、メールアドレス、住所の表記がリンクに自動変換されるのを…

2024.08.19

HTML・CSS

縦書き文字の配置について

縦書きの文字を写真の左上・左中・左下・右上・右中・右下に配置します。デモページはこちら 以下のhtml構造で確認します。 CSSはpositionとtransf…

上に戻る