国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Table des matières
Le composant SVG Sprite ( SvgSprite.vue )
La composante ic?ne ( SvgIcon.vue )
Maison interface Web tutoriel CSS Un système d'ic?nes SVG en forme de police pour VUE

Un système d'ic?nes SVG en forme de police pour VUE

Apr 03, 2025 am 10:47 AM

Un système d'ic?nes SVG en forme de police pour VUE

La gestion des ic?nes dans Vue.js peut être délicate. Les polices d'ic?nes sont pratiques mais manquent de flexibilité de personnalisation, et le contr?le des versions peut être un cauchemar en raison de leur nature binaire. Les SVG offrent une solution supérieure, mais le maintien de la facilité d'utilisation et de la gestion efficace nécessite une approche réfléchie.

Cet article présente un système d'ic?nes SVG idéal pour les applications Vue.js, en se concentrant sur la simplicité et la maintenabilité:

  • Ajout / suppression d'ic?nes: Ajoutez ou supprimez simplement les SVG d'un dossier désigné.
  • Utilisation: utilisez des ic?nes dans des modèles avec la syntaxe simple<svg-icon icon="rocket"></svg-icon> .
  • Styling: Ic?nes d'échelle et de couleur utilisant des propriétés font-size et color CSS, imitant le comportement des polices d'ic?nes.
  • Optimisation: évite la duplication du code SVG pour plusieurs instances de la même ic?ne.
  • Intégration WebPack: aucune modification de configuration Webpack n'est nécessaire.

Ce système est construit à l'aide de deux petits composants Vue à un seul fichier et nécessite:

  • WebPack: supposé si vous utilisez la Vue CLI.
  • svg-inline-loader : Installable via npm install svg-inline-loader --save-dev . Ce chargeur nettoie les parties inutiles du code SVG.

Le composant SVG Sprite ( SvgSprite.vue )

Pour éviter la répétition du code SVG, nous créons un SVG Sprite - un SVG caché contenant toutes les autres ic?nes SVG. Les ic?nes sont accessibles via le<use></use> Tag faisant référence à l'ID de l'ic?ne:<svg><use xlink:href="#rocket"></use></svg> . Le composant SvgSprite implémente ceci:

<template>
  <svg height="0" style="display: none;" v-html="$options.svgSprite" width="0"></svg>
</template>

<script>
const svgContext = require.context(
  '!svg-inline-loader?'  
  'removeTags=true'   // Remove title tags, etc.
  '&removeSVGTagAttrs=true'   // Remove attributes
  '&removingTagAttrs=fill'   // Remove fill attributes
  '!@/assets/icons', // Icon directory
  true, // Search subdirectories
  /\w \.svg$/i // Only include SVG files
);

const symbols = svgContext.keys().map(path => {
  const id = path.replace(/^\.\/(.*)\.\w $/, '$1'); // Extract ID from filename
  const content = svgContext(path); // Get SVG content
  return content.replace('<svg', `<symbol id="${id}"`).replace('svg>', 'symbol>'); // Convert to symbol
});

export default {
  name: 'SvgSprite',
  svgSprite: symbols.join('\n'), // Concatenate symbols
};
</script>

Le modèle comprend un caché<svg></svg> élément dont le contenu est généré dynamiquement par $options.svgSprite . Le script utilise require.context avec svg-inline-loader pour traiter les SVG, supprimant les balises et attributs inutiles. Il convertit ensuite chaque SVG en un<symbol></symbol> élément, ajoutant un ID unique.

Placez ce composant en haut de votre fichier App.vue .

La composante ic?ne ( SvgIcon.vue )

Le composant SvgIcon est plus simple, en utilisant le<use></use> Tag aux ic?nes de référence du sprite:

<template>
  <svg class="icon" :class="{ 'icon-spin': spin }">
    <use :xlink:href="`#${icon}`"></use>
  </svg>
</template>

<script>
export default {
  name: 'SvgIcon',
  props: {
    icon: { type: String, required: true },
    spin: { type: Boolean, default: false },
  },
};
</script>

<style scoped>
svg.icon {
  fill: currentColor;
  height: 1em;
  margin-bottom: 0.125em;
  vertical-align: middle;
  width: 1em;
}
svg.icon-spin {
  animation: icon-spin 2s infinite linear;
}
@keyframes icon-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(359deg); }
}
</style>

Le CSS stylise l'ic?ne pour se comporter comme une police d'ic?ne, permettant des ajustements de couleur et de taille faciles. Un accessoire spin ajoute une animation.

Enregistrez ce composant dans main.js :

 Importer Vue à partir de ?Vue?
importer svgicon à partir de '@ / composants / svgicon.vue'
Vue.Component (?SVG-ICON?, SVGICON)

Ce système fournit une solution propre, efficace et facilement maintenable pour gérer les ic?nes SVG dans vos applications Vue.js. D'autres améliorations pourraient inclure la gestion des ratios d'aspect non carré et la compatibilité des outils de cadre / build plus large.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefa?on, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Oguri Cap Build Guide | Un joli Musume Derby
3 Il y a quelques semaines By Jack chen
Guide de construction d'Agnes Tachyon | Un joli Musume Derby
3 Il y a quelques semaines By Jack chen
Guide de construction de Grass Wonder | Uma musume joli derby
2 Il y a quelques semaines By Jack chen
Posséder un codes d'étang de poisson juin 2025
3 Il y a quelques semaines By Jack chen

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Qu'est-ce que l'autoprefixer et comment ?a marche? Qu'est-ce que l'autoprefixer et comment ?a marche? Jul 02, 2025 am 01:15 AM

AutoPrefixer est un outil qui ajoute automatiquement les préfixes des fournisseurs aux attributs CSS en fonction de la portée du navigateur cible. 1. Il résout le problème de maintenir manuellement les préfixes avec des erreurs; 2. Travaillez le formulaire de plug-in PostCSS, analyse CSS, analysez les attributs qui doivent être préfixés et générer du code en fonction de la configuration; 3. Les étapes d'utilisation incluent l'installation de plug-ins, la définition de la liste de navigateurs et leur permettant dans le processus de construction; 4. Les notes ne comprennent pas manuellement les préfixes, le maintien des mises à jour de la configuration, les préfixes pas tous des attributs, et il est recommandé de les utiliser avec le préprocesseur.

Tutoriel CSS pour créer un en-tête ou un pied de page collant Tutoriel CSS pour créer un en-tête ou un pied de page collant Jul 02, 2025 am 01:04 AM

TOCREATESTICKYHEADERSERSANDFOOTERS WITHCSS, USEPOSITION: StickyforhederswithTopValueAndz-Index, assurant leparentContainerson’trestrictit.1.Forstickyheders: SetPosition: Sticky, Top: 0, Z-index, AndbackgroundColor.2

Quelle est la fonction conique-gradient ()? Quelle est la fonction conique-gradient ()? Jul 01, 2025 am 01:16 AM

THECONCON-GRADIENT () FURMATINGEnSSSCREATSCICLULARD GRODIENTSTHATATATECOLORSTOPSAROUNDacentralpoint.1.IiSIDEALFORPIECHARTS, PROGRESSINDICATEURS, Colorweels, andDecorativeBackgrounds.2.itworksByDefiningColOrStopSatSpiecificangles, FactuallylyTartingfromadefinin

Quelle est la portée d'une propriété personnalisée CSS? Quelle est la portée d'une propriété personnalisée CSS? Jun 25, 2025 am 12:16 AM

La portée des propriétés personnalisées de CSS dépend du contexte de leur déclaration, les variables globales sont généralement définies dans: Root, tandis que les variables locales sont définies dans un sélecteur spécifique pour la composontisation et l'isolement des styles. Par exemple, les variables définies dans la classe de cartes. Ne sont disponibles que pour des éléments qui correspondent à la classe et à leurs enfants. Les meilleures pratiques incluent: 1. Utilisation: racine pour définir des variables globales telles que la couleur du sujet; 2. Définir les variables locales à l'intérieur du composant pour implémenter l'encapsulation; 3. évitez de déclarer à plusieurs reprises la même variable; 4. Faites attention aux problèmes de couverture qui peuvent être causés par la spécificité du sélecteur. De plus, les variables CSS sont sensibles à la casse et doivent être définies avant utilisation pour éviter les erreurs. Si la variable n'est pas définie ou si la référence échoue, la valeur de retour ou la valeur par défaut initiale sera utilisée. Le débogage peut être fait par le biais du développeur du navigateur

Tutoriel CSS pour créer des filateurs et des animations de chargement Tutoriel CSS pour créer des filateurs et des animations de chargement Jul 07, 2025 am 12:07 AM

Il existe trois fa?ons de créer un rotateur de chargement CSS: 1. Utilisez le rotateur de base des frontières pour obtenir une animation simple via HTML et CSS; 2. Utilisez un rotateur personnalisé de plusieurs points pour atteindre l'effet de saut à travers différents temps de retard; 3. Ajoutez un rotateur dans le bouton et basculez les classes via JavaScript pour afficher l'état de chargement. Chaque approche souligne l'importance des détails de conception tels que la couleur, la taille, l'accessibilité et l'optimisation des performances pour améliorer l'expérience utilisateur.

Tutoriel CSS axé sur la conception mobile d'abord Tutoriel CSS axé sur la conception mobile d'abord Jul 02, 2025 am 12:52 AM

Mobile-FirstcssDesigrequequetsettingTheViewportMetatag, UsingrelativeUnits, StylingFromsMallScreensup, OptimizingTypographicAndTouchtarget.First, addtiControlsaling.second, use%, em, orreminsteadofpixel

Comment centrer une grille entière dans la fenêtre? Comment centrer une grille entière dans la fenêtre? Jul 02, 2025 am 12:53 AM

Pour rendre l'intégralité de la disposition de la grille centrée dans la fenêtre, elle peut être réalisée par les méthodes suivantes: 1. Utilisez la marge: 0Auto pour atteindre le centrage horizontal, et le conteneur doit être défini pour définir la largeur fixe, qui convient à la mise en page fixe; 2. Utilisez Flexbox pour définir les propriétés de justification et d'alignement des éléments dans le récipient extérieur, et combinez la hauteur min: 100VH pour atteindre le centrage vertical et horizontal, qui convient aux scénarios d'affichage plein écran; 3. Utilisez la propriété Place-Items de CSSGrid pour se concentrer rapidement sur le conteneur parent, ce qui est simple et a un bon soutien des navigateurs modernes, et en même temps, il est nécessaire de garantir que le conteneur parent a une hauteur suffisante. Chaque méthode a des scénarios et des restrictions applicables, choisissez simplement la solution appropriée en fonction des besoins réels.

Comment créer une disposition de grille intrinsèquement réactive? Comment créer une disposition de grille intrinsèquement réactive? Jul 02, 2025 am 01:19 AM

Pour créer une disposition de grille réactive intrinsèque, la méthode principale consiste à utiliser le mode répétition de CSSGrid (Auto-Fit, Minmax ()); 1. Définir la grille-template-colonnes: répéter (Auto-Fit, Minmax (200px, 1fr)) pour laisser le navigateur ajuster automatiquement le nombre de colonnes et limiter les largeurs minimales et maximales de chaque colonne; 2. Utiliser l'espace pour contr?ler l'espacement de la grille; 3. Le conteneur doit être réglé sur des unités relatives telles que la largeur: 100%, et utiliser la taille de la bo?te: Border-Box pour éviter les erreurs de calcul de la largeur et les centrer avec la marge: auto; 4. Définissez éventuellement la hauteur de la ligne et l'alignement du contenu pour améliorer la cohérence visuelle, comme la ligne

See all articles