Vue-FAQ
940 subscribers
580 photos
92 videos
564 links
Канал сайта https://vue-faq.org
Информация о Vue.js, фронтенд разработке и не только

Contacts: @RuslanMakarov
Download Telegram
CSS правило mask-image поможет наложить фоновую картинку на SVG изображение, позволяя создавать красивые эффекты на векторе

#css #tip #svg
👍8🔥1
Иконки флагов стран в SVG формате - https://flagicons.lipis.dev
Можно выбрать необходимые, но если нужны все, то png формат (sprite) может быть значительно оптимальней.

#flag #svg #lib
👍1
SVG тоже могут иметь реактивные свойства

<template>
<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
<circle cx="50" cy="50" r="50" :fill="color" />
</svg>
</template>

<script setup lang="ts">
defineProps<{
color: string
}>();
</script>


#tip #svg
3
currentColor - это значение, которое принимает значение любого цвета, установленного в данный момент для этого селектора, независимо от того, установлен ли он неявно или унаследован.

Пример:

.btn {
padding: 0.5em 1.25em;
text-transform: uppercase;
text-decoration: none;
background: white;
color: limegreen;
border: 1px solid currentColor;
// border будет тоже цвета limegreen
}


currentColor часто применяется в svg иконках, когда надо прокинуть установленный на элементе её содержащем цвет, на саму иконку. В этом случае в svg используют color: currrentColor. В распространенных icon packs это обычно так.

Если у svg иконки есть свойства и color, и fill, то как минимум одно из них прокидывать в обертку придется пропсами, как в данном примере

#tip #css #svg
👍121
На этом сайте можно создать анимированный SVG для скелетона

skeletonreact.com

#svg
👍13
При рисовании графиков на фронтенде обычно используется два подхода - canvas и svg

Библиотеки для первого (chart.js, uplot) предлагают больший функционал и детализацию, библиотеки для второго (frappe-charts, chartist) - намного меньший размер пакета и заметно лучшую производительность в браузере.

Если нужны несложные диаграммы, можно использовать SVG

Специальная обертка для Vue не обязательна - все можно сделать в onMounted() через useTemplateRef().

#charts #svg
👍19👎1