You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Это не слишком удобно. К тому же некоторые иконки имеют разную пропорцию, например у https://vkcom.github.io/icons/#16/more_verticalwidth={8} и height={16}, что добавляет дополнительные сложности.
Бывает есть иконка в тексте (см. Рис. 1)
Рис. 1. Пример иконки в предложении
в нашем случае мы должны узнать размер шрифта и задать его иконке через параметры в JS. А если текст меняет свой размер при определенном параметре, то нам ещё потребуется и в JS слушать изменение ширины окна.
Видео с примером проблемыnow.mov
В принципе в VKUI уже есть кейсы, где мы завязываемся на изменение ширины в JS для изменения размера иконки, пример по ссылке.
Как можно?
Чтобы можно было переопределять размеры иконок со следующими преимуществами:
Без знания пропорций
Без JS
Изменение размера одним св-ом
во-первых, предлагаю заменить в width и height единицы px на em, а размер задавать через font-size.
на примере <Icon24ExternalLinkOutline /> это будет выглядеть так
Какая сейчас проблема?
У иконок размеры
width
иheight
зашиты в пикселях. Если нам необходимо изменить масштаб, то нам нужно прибегать к передачеwidth
иheight
Это не слишком удобно. К тому же некоторые иконки имеют разную пропорцию, например у https://vkcom.github.io/icons/#16/more_vertical
width={8}
иheight={16}
, что добавляет дополнительные сложности.Бывает есть иконка в тексте (см. Рис. 1)
Рис. 1. Пример иконки в предложении
в нашем случае мы должны узнать размер шрифта и задать его иконке через параметры в JS. А если текст меняет свой размер при определенном параметре, то нам ещё потребуется и в JS слушать изменение ширины окна.
Видео с примером проблемы
now.mov
В принципе в VKUI уже есть кейсы, где мы завязываемся на изменение ширины в JS для изменения размера иконки, пример по ссылке.
Как можно?
Чтобы можно было переопределять размеры иконок со следующими преимуществами:
во-первых, предлагаю заменить в
width
иheight
единицыpx
наem
, а размер задавать черезfont-size
.<Icon24ExternalLinkOutline />
это будет выглядеть так<Icon16MoreVertical />
это будетэто будет обратно совместимые изменение.
Во-вторых, добавить параметр
fontSize
, который принимает все валидные дляfont-size
значения. Это для того, чтобы можно было писать=>
и тогда иконка впишется по размерам в текст, а в компонентах можно будет менять её размер через
font-size
в CSS.Видео с примером регулирования размера иконки через font-size
want.mov
Ссылки
em
для размеров SVG.Icons
)The text was updated successfully, but these errors were encountered: