Yêu cầu thg 9 14, 2023 9:55 SA 133 0 2
  • 133 0 2
+1

Cách dùng file svg trong nuxt 3

Chia sẻ
  • 133 0 2

Em có một dự án nuxt 3 dùng icon theo kiểu file svg. có cách nào hay package để import file svg giống giống cái NextImage bên Nextjs k mn. E đang dùng package Nuxt-icons https://www.npmjs.com/package/nuxt-icons . Mà nó thì đang k chỉnh được size cho file svg mà nó cũng đang làm mất vài chi tiết của cái icon đó Đây là file hollow-circle.svg"

<svg xmlns="http://www.w3.org/2000/svg" width="288" height="436" viewBox="0 0 288 436" fill="none">
  <path d="M-41.5048 435.372C-85.9613 435.372 -129.121 426.656 -169.782 409.454C-209.023 392.852 -244.258 369.107 -274.496 338.859C-304.735 308.621 -328.489 273.385 -345.091 234.145C-362.284 193.484 -371 150.324 -371 105.868C-371 61.411 -362.284 18.2513 -345.081 -22.4099C-328.479 -61.6503 -304.735 -96.8856 -274.487 -127.124C-244.239 -157.362 -209.013 -181.116 -169.773 -197.719C-129.111 -214.912 -85.9613 -223.628 -41.5048 -223.628C2.95175 -223.628 46.1114 -214.912 86.7726 -197.709C126.013 -181.107 161.248 -157.362 191.487 -127.114C221.725 -96.876 245.479 -61.6407 262.081 -22.4003C279.275 18.2609 288 61.4205 288 105.877C288 150.334 279.284 193.493 262.081 234.154C245.479 273.395 221.735 308.63 191.487 338.869C161.248 369.107 126.013 392.861 86.7726 409.463C46.1114 426.647 2.95175 435.372 -41.5048 435.372ZM-41.5048 -109.196C-160.094 -109.196 -256.569 -12.7214 -256.569 105.868C-256.569 224.456 -160.094 320.932 -41.5048 320.932C77.0841 320.932 173.559 224.456 173.559 105.868C173.559 -12.7214 77.0841 -109.196 -41.5048 -109.196Z" fill="#E6E5F5"/>
</svg>

Đây là em dùng package để hiển thị

 <nuxt-icon name="hollow-circle" class="absolute top-0 left-0 z-[-1] md:visible invisible" filled />

Em muốn dùng như kiểu thẻ Img, điền tên file svg xong rồi có thể điều chỉnh màu cũng như kích thước. Em k muốn viết hẳn svg ra vì nó làm dài code với cả dùng luôn thẻ img vì nó k có chỉnh màu được.

thg 9 22, 2023 11:31 SA

Sang dùng react thôi bác. 😄

2 CÂU TRẢ LỜI


Đã trả lời thg 9 22, 2023 11:33 SA
+2

Theo ngu ý của em, nếu bác không tìm được cách khắc phục copy nội dung SVG đó rồi define thành một component Vue như thường. Như thế cũng vẫn có thể truyền được class, prop để customize svg đó.

Chia sẻ
Đã trả lời thg 12 12, 2023 3:53 SA
0

bác có thể tạo mỗi icon thành 1 component riêng và vẫn truyền props color, size , bg-color như bình thường nha

Chia sẻ
Avatar xuan chinh @xuanchinhtdt
thg 4 25, 10:25 SA
<img src = "path svg"/>
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí