CSS est un langage de feuille de style utilisé pour décrire la présentation d'un document écrit en HTML ou XML (y compris les langages basés sur XML comme SVG ou XHTML). Le CSS définit comment les éléments de la page doivent être affichés à l'écran, sur papier, dans la parole, ou sur d'autres supports. Son but principal est de permettre la séparation du contenu du document de sa présentation, comprenant des aspects comme la mise en page, les couleurs et les polices. Cette séparation contribue à l'amélioration de l'accessibilité du contenu, offre plus de flexibilité et de contrôle dans la spécification des caractéristiques de présentation, et permet à plusieurs pages de partager le même style en réduisant la complexité et la répétition dans le contenu structurel.
Les feuilles de style en cascade permettent d'appliquer des styles variés selon des critères spécifiques, comme le type de dispositif d'affichage, la taille de la fenêtre, ou l'orientation de la page. Par exemple, un site web peut avoir une mise en page différente sur un ordinateur de bureau par rapport à un dispositif mobile, grâce à l'utilisation de requêtes média en CSS. En plus de contrôler la mise en page, le CSS facilite la mise en œuvre de designs adaptatifs et réactifs, améliorant l'expérience utilisateur (UX) sur divers appareils et tailles d'écran.
Le CSS est maintenu par le World Wide Web Consortium (W3C), une organisation internationale qui développe des standards pour le web. Depuis sa première version, le CSS a évolué à travers plusieurs versions, ajoutant de nouvelles fonctionnalités et commandes pour répondre aux besoins croissants des concepteurs et des développeurs web. Parmi ces fonctionnalités, nous retrouvons les animations, les transitions, les modèles de boîtes flexibles (Flexbox) et de grille (Grid), qui offrent une plus grande flexibilité et efficacité dans la conception de mises en page complexes.
Dans le contexte du développement web, le CSS est souvent associé à des langages comme HTML et JavaScript, formant ainsi le trio fondamental de technologies pour la création de pages web interactives et esthétiquement plaisantes. Alors que HTML fournit la structure de base et JavaScript permet d'ajouter des interactions et des fonctionnalités, le CSS définit le style et l'apparence de la page, jouant un rôle crucial dans le développement front-end.
En lien avec les termes du glossaire, le CSS interagit directement avec des éléments tels que le Frontend, UX/UI, et peut être impliqué dans des processus DevOps pour l'intégration et le déploiement continu (CI/CD) des applications web. Il est également pertinent dans le cadre de l'approche Agile de développement de logiciels, où la flexibilité et l'adaptabilité du design sont essentielles. L'adoption de bonnes pratiques en CSS peut grandement contribuer à la maintenabilité et à l'évolutivité des projets web, soulignant son importance dans l'écosystème de développement moderne.