oncss
oncss est une bibliothèque CSS-in-JS qui fournit aux développeurs une puissante fonction CSS pour styliser leurs applications Web. Il permet des techniques de style modernes, notamment des sélecteurs imbriqués, une conception réactive et des images clés dynamiques, tout en offrant une intégration transparente avec les frameworks JavaScript comme React.
Installation
Installez le package oncss via npm?:
npm install oncss
Importez la fonction css dans votre projet?:
import css from 'oncss';
Concept de base?: la fonction CSS
La fonction css est le c?ur d'oncss, con?ue pour générer et injecter dynamiquement du CSS dans votre application. Il prend en charge?:
- Propriétés CSS?: utilisez les propriétés et les valeurs CSS standard.
- Sélecteurs imbriqués?: appliquez des styles aux éléments ou états enfants à l'aide de &.
- Requêtes média?: implémentez des conceptions réactives avec les règles @media.
- Keyframes?: créez des animations avec @keyframes.
- Styles globaux?: appliquez des styles globalement avec @global.
- Points d'arrêt personnalisés?: définissez des points d'arrêt réutilisables pour plus de réactivité.
- Autres règles At?: utilisez des règles at supplémentaires telles que @container, @layer et @supports.
Exemple de base
const buttonStyles = css({ backgroundColor: 'blue', color: 'white', padding: '10px 20px', borderRadius: '5px', '&:hover': { backgroundColor: 'darkblue', }, '@media (min-width: 768px)': { padding: '15px 30px', }, }); console.log(buttonStyles);
Options de configuration
La fonction css peut être personnalisée via un objet options?:
Propriétés disponibles
Property | Type | Description |
---|---|---|
classPrefix | string | Adds a prefix to generated class names. |
breakpoints | object | Custom breakpoints for responsive designs. |
aliases | object | Custom shorthand properties for CSS rules. |
injectStyle | boolean | Controls whether styles are auto-injected. |
skipProps | function | Filters out unwanted properties. |
getValue | function | Transforms property values dynamically. |
getProps | function | Customizes specific property handling. |
Exemple avec options
npm install oncss
Utiliser des points d'arrêt
Vous pouvez utiliser les points d'arrêt définis dans vos styles pour créer des designs réactifs?:
import css from 'oncss';
Intégration de réaction
oncss s'intègre parfaitement à React. Transmettez simplement le nom de classe généré à votre composant.
Exemple de réaction
const buttonStyles = css({ backgroundColor: 'blue', color: 'white', padding: '10px 20px', borderRadius: '5px', '&:hover': { backgroundColor: 'darkblue', }, '@media (min-width: 768px)': { padding: '15px 30px', }, }); console.log(buttonStyles);
Fonctionnalités avancées
Sélecteurs imbriqués
Appliquer des styles aux éléments enfants ou aux pseudo-classes?:
const styles = css({ fontSize: 16, padding: 10, }, { classPrefix: 'myprefix', breakpoints: { sm: 480, md: 768, lg: 1024, }, });
Requêtes multimédias
Ajoutez facilement des styles réactifs?:
const responsiveStyles = css({ fontSize: 14, padding: { sm: 12, lg: 24 }, }, { breakpoints: { sm: 480, md: 768, lg: 1024, }, });
Images clés
Définir et utiliser des animations?:
import React from 'react'; import css from 'oncss'; const buttonStyle = css({ backgroundColor: 'green', color: 'white', padding: '10px 20px', borderRadius: '8px', '&:hover': { backgroundColor: 'darkgreen', }, }); function Button() { return <button classname="{buttonStyle.toString()}">Click Me</button>; } export default Button;
Styles globaux
Appliquez des styles globaux sans effort?:
const cardStyles = css({ padding: '20px', border: '1px solid #ccc', '& h1': { fontSize: '24px', margin: 0, }, '&:hover': { boxShadow: '0 4px 8px rgba(0, 0, 0, 0.1)', }, });
Règles At prises en charge
oncss prend en charge diverses règles at CSS pour améliorer vos capacités de style. Voici une liste des règles at prises en charge avec des descriptions?:
At-Rule | Description |
---|---|
@media | Used for applying styles based on media queries for responsive design. |
@keyframes | Defines animations that can be applied to elements. |
@global | Applies styles globally across the entire application. |
@container | Used for container queries to apply styles based on container size. |
@layer | Defines style layers to control the order of style application. |
@supports | Applies styles based on the support of specific CSS features in the browser. |
Style c?té serveur
oncss prend en charge le rendu c?té serveur (SSR) en utilisant CSSFactory pour stocker et gérer les styles CSS générés. Cela vous permet d'extraire et d'injecter des styles dans votre HTML rendu par le serveur.
Exemple avec React
Voici un exemple d'utilisation d'oncss pour le rendu c?té serveur avec React?:
npm install oncss
formatCSSValeur
formatCSSValue est une fonction utilitaire qui formate les valeurs CSS, en ajoutant des unités comme px si nécessaire.
import css from 'oncss';
Intégration TypeScript
oncss fournit une prise en charge complète de TypeScript, vous permettant de définir des types pour vos propriétés et options CSS.
Définir les propriétés CSS
Vous pouvez définir les types de vos propriétés CSS en utilisant le type CSSProps?:
const buttonStyles = css({ backgroundColor: 'blue', color: 'white', padding: '10px 20px', borderRadius: '5px', '&:hover': { backgroundColor: 'darkblue', }, '@media (min-width: 768px)': { padding: '15px 30px', }, }); console.log(buttonStyles);
Utilisation des options avec les types
Vous pouvez également définir des types pour l'objet options?:
const styles = css({ fontSize: 16, padding: 10, }, { classPrefix: 'myprefix', breakpoints: { sm: 480, md: 768, lg: 1024, }, });
Conclusion
oncss simplifie le style pour les applications Web modernes. Son ensemble de fonctionnalités robustes, de la conception réactive aux animations d'images clés, en fait un outil inestimable pour les développeurs.
Auteur

![]() |
Naxrul Ahmed GitHub Profile npm Profile Open Source Projects |
Projets open source
??Où me trouver
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!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

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

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

Clothoff.io
Dissolvant de vêtements AI

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

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Sujets chauds

CSS bloque le rendu de la page car les navigateurs affichent le CSS en ligne et le CSS externe comme des ressources clés par défaut, en particulier avec les feuilles de styles importées, les grandes quantités de CSS en ligne et les styles de requête multimédia non optimisés. 1. Extraire CSS critique et l'intégrez-la dans HTML; 2. Retard Chargement CSS non critique via JavaScript; 3. Utilisez des attributs multimédias pour optimiser le chargement tel que les styles d'impression; 4. Comprimer et fusionner CSS pour réduire les demandes. Il est recommandé d'utiliser des outils pour extraire les CS de clé, combiner le chargement asynchrone rel = "précharge" et utiliser le chargement retardé des médias raisonnablement pour éviter une division excessive et un contr?le de script complexe.

TheBestApproachForCSSDependSonTheproject'sspecificneeds.ForLargerProjects, externalcsisBetterDueTomaintainiabilityAndReUsability; ForsmallerProjectsorSingle-pageApplications, internecssigh

NON, CSSDOOSNOTHAVETOBEINLOWLOWERCASE.CI, USING USINGERCASERASERISROMEND pour: 1) Cohérence et réadaptation, 2) évitant les technologies de perception liées à la pertinence, 3) Potentiel PerformanceBenefits, and4) Amélioration de la collaboration.

CSSismostlyCase-insensible, buturlsandfontfamilyNamesaSaSase-sensible.1) Propriéties andvaluesLikEcolor: Red; arenotcase-sensible.2) UrlSMustMatchTheServer'scase, par exemple, / images / Logo.png.3) FontFamilyNamesliNe'apensans's'mUstBeexact.

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.

CSSCOUNTERSCANAUTOMAMATIQUE UNEUXESECTIONS ET LISTS.1) USECOUNTER-RESEDTOINITINALIALIALISE, COMPTENDREMENTTOINCREAD, andCounter () Orcounters () toDisplayValues.2) combinewithjavascriptfordynamiccontentoenSureAcurateupdates.

Dans CSS, les noms de sélecteur et d'attribut sont sensibles à la casse, tandis que les valeurs, les couleurs nommées, les URL et les attributs personnalisés sont sensibles à la casse. 1. Les noms de sélecteur et d'attribut sont insensibles à la casse, tels que la couleur arrière et la couleur arrière-plan sont les mêmes. 2. La couleur hexadécimale de la valeur est sensible à la casse, mais la couleur nommée est sensible à la casse, comme le rouge et le rouge n'est pas valide. 3. Les URL sont sensibles à la casse et peuvent causer des problèmes de chargement de fichiers. 4. Les propriétés personnalisées (variables) sont sensibles à la caisse, et vous devez faire attention à la cohérence du cas lorsque vous les utilisez.

CSSSelectorSandProperTyNamesaSaCase-insensible, tandis que les valeurs de canueSCanBECase-SensivedEprendContex
