Вывести шрифт потрясающий значок SVG внутри div - PullRequest
0 голосов
/ 30 июня 2019

Мне нужно отобразить значок шрифта внутри div.Я скачал этот значок отсюда https://fontawesome.com/icons/share-alt-square?style=solid, затем открыл загруженный файл svg в текстовом редакторе, скопировал данные атрибута d и поместил в мою разметку.

Должна выглядеть окончательная разметкавот так:

<div style="width: 32px; height: 32px;">
  <svg viewBox="0 0 64 64" width="32" height="32">
    <g>
      <rect width="64" height="64" fill=""></rect>
    </g>
    <g>
    <path d="M448 80v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48zM304 296c-14.562 0-27.823 5.561-37.783 14.671l-67.958-40.775a56.339 56.339 0 0 0 0-27.793l67.958-40.775C276.177 210.439 289.438 216 304 216c30.928 0 56-25.072 56-56s-25.072-56-56-56-56 25.072-56 56c0 4.797.605 9.453 1.74 13.897l-67.958 40.775C171.823 205.561 158.562 200 144 200c-30.928 0-56 25.072-56 56s25.072 56 56 56c14.562 0 27.823-5.561 37.783-14.671l67.958 40.775a56.088 56.088 0 0 0-1.74 13.897c0 30.928 25.072 56 56 56s56-25.072 56-56C360 321.072 334.928 296 304 296z" fill="white"></path>
    </g>
  </svg>
</div>

Я предпочитаю такой подход.Пожалуйста, поправьте меня, если я использую это неправильно, и это не будет работать.В таком случае, что было бы наиболее подходящим решением?

1 Ответ

1 голос
/ 30 июня 2019

Проблема в том, что вы используете путь от SVG с гораздо большим viewBox.Поэтому, чтобы приспособить его к тому, что у вас есть, вам нужно изменить viewBox вашего svg.

Чтобы узнать, что viewBox использовать, вы можете использовать viewBox оригинального значка.Другой способ - получить размер и положение ограничивающего прямоугольника (метод javascript: thePath.getBBox()) пути и использовать его для создания нового значения viewBox.

.

svg{border:1px solid}
<div style="width: 32px; height: 32px;">
  <svg viewBox="0 32 448 448">
    <g>
      <rect y="32" width="448" height="448" fill=""></rect>
    </g>
    <g>
    <path id="thePath" d="M448 80v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48zM304 296c-14.562 0-27.823 5.561-37.783 14.671l-67.958-40.775a56.339 56.339 0 0 0 0-27.793l67.958-40.775C276.177 210.439 289.438 216 304 216c30.928 0 56-25.072 56-56s-25.072-56-56-56-56 25.072-56 56c0 4.797.605 9.453 1.74 13.897l-67.958 40.775C171.823 205.561 158.562 200 144 200c-30.928 0-56 25.072-56 56s25.072 56 56 56c14.562 0 27.823-5.561 37.783-14.671l67.958 40.775a56.088 56.088 0 0 0-1.74 13.897c0 30.928 25.072 56 56 56s56-25.072 56-56C360 321.072 334.928 296 304 296z" fill="white"></path>
    </g>
  </svg>
</div>
...