Cette interview explore le projet de réinitialisation innovant d'Elad Shechter, "The New-CSS-Resset", une approche moderne tirant parti des fonctionnalités CSS de pointe. Au lieu de simplement présenter le code, nous plongeons dans le pourquoi derrière sa création et les subtilités de sa fonctionnalité.
Le code de réinitialisation complet est:
/ *** la nouvelle réinitialisation CSS - Version 1.2.0 (Dernière mise à jour 23.7.2021) *** / / * Supprimer tous les styles sauf 'affichage' * / *: où (: non (iframe, canvas, img, svg, vidéo): pas (svg *)) { Tous: Undet; Affichage: retourne; } / * Sidite de boîte préférée * / *, *::avant, *::après { Dimensionnement en boîte: Border-Box; } / * Supprimer les styles de liste * / ol, ul { Style de liste: aucun; } / * Empêcher les images de dépasser le conteneur * / img { largeur maximale: 100%; } / * Effondrer les bordures de la table * / tableau { Border-Collapse: s'effondrer; } / * REVERT 'WHITE-SPACE' pour safari textareas * / TextArea { Espace blanc: retourner; }
ELAD explique la nécessité d'une nouvelle réinitialisation, soulignant que les réinitialisations existantes reposent sur les fonctionnalités CSS plus anciennes. Son approche tire parti de nouvelles capacités pour une réinitialisation plus efficace et plus valable. Il contraste son approche avec Normalize.CSS (une approche plus douce se concentrant sur la fixation des incohérences du navigateur) et la réinitialisation du CSS d'Eric Meyer (une approche plus agressive supprimant la plupart des styles par défaut). ELAD plaide en utilisant à la fois normaliser.css et une réinitialisation dure, combinant leurs forces.
Le noyau de la nouvelle réinitialisation réside en all: unset;
. Cette propriété puissante réinitialise toutes les propriétés héritées pour inherit
des propriétés non héritées pour supprimer efficacement les styles de navigateur par défaut initial
. Cependant, display
est une exception. all: unset;
Définit display
sur inline
, ce qui n'est pas souhaitable. Par conséquent, display: revert;
est utilisé pour restaurer la valeur display
par défaut du navigateur pour chaque élément, garantissant une disposition appropriée. Le mot-clé revert
récupère intelligemment la valeur display
par défaut de la feuille de style utilisateur, si disponible, sinon retombant au comportement unset
.
Le sélecteur *:where(:not(iframe, canvas, img, svg, video):not(svg *))
cible presque tous les éléments, à l'exclusion de ceux (comme<iframe></iframe>
,<canvas></canvas>
, etc.) dont les dimensions sont mieux contrôlées via des attributs plutôt que de réinitialiser CSS, empêchant les conséquences imprévues. Le :where()
pseudo-classe minimise la spécificité, évitant les conflits avec les styles spécifiques au projet. Une exclusion séparée :not(svg *)
protège l'intégrité des éléments SVG.
La réinitialisation comprend également des styles d'opinion comme box-sizing: border-box
, qui, bien que n'étant pas une incohérence du navigateur, est largement adopté comme meilleure pratique. La suppression des styles de liste ( list-style: none;
) est justifiée par l'utilisation courante des listes de navigation où les marqueurs ne sont pas nécessaires, malgré les implications sémantiques.
ELAD discute de futurs ajouts potentiels, tirés par les besoins récurrents dans ses projets. La max-width: 100%;
La règle pour les images est présentée comme un candidat probable. Il spécule également sur l'impact du prochain module Cascade Couches, ce qui suggère qu'il pourrait éliminer le besoin de techniques de réduction de la spécificité comme :where()
en fournissant une approche en couches pour remplacer le style. Cela permettrait une séparation plus propre des styles de réinitialisation des styles spécifiques au projet.
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!

CSS Grid est un outil puissant pour créer des dispositions Web complexes et réactives. Il simplifie la conception, améliore l'accessibilité et offre plus de contrôle que les méthodes plus anciennes.

L'article traite de CSS Flexbox, une méthode de mise en page pour l'alignement et la distribution efficaces de l'espace dans les conceptions réactives. Il explique l'utilisation de Flexbox, la compare à la grille CSS et détaille la prise en charge du navigateur.

L'article traite des techniques de création de sites Web réactifs à l'aide de CSS, y compris des balises de méta de la fenêtre, des grilles flexibles, des médias fluides, des requêtes multimédias et des unités relatives. Il couvre également l'utilisation de la grille CSS et de Flexbox ensemble et recommande le cadre CSS

L'article traite de la propriété CSS-Box-Sizing, qui contrôle comment les dimensions des éléments sont calculées. Il explique des valeurs telles que la boîte de contenu, la boîte de bordure et la boîte de padding, et leur impact sur la conception de la disposition et l'alignement de la forme.

L'article discute de la création d'animations à l'aide de CSS, de propriétés clés et de combinaison avec JavaScript. Le principal problème est la compatibilité du navigateur.

L'article discute de l'utilisation de CSS pour les transformations 3D, les propriétés clés, la compatibilité du navigateur et les considérations de performances pour les projets Web. (Compte de caractère: 159)

L'article discute de l'utilisation des gradients CSS (linéaire, radial, répétant) pour améliorer les visuels du site Web, l'ajout de profondeur, de concentration et d'esthétique moderne.

L'article traite des pseudo-éléments dans CSS, de leur utilisation dans l'amélioration du style HTML et des différences par rapport aux pseudo-classes. Fournit des exemples pratiques.


Outils d'IA chauds

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.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à 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 Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Listes Sec
SecLists est le compagnon ultime du testeur de sécurité. Il s'agit d'une collection de différents types de listes fréquemment utilisées lors des évaluations de sécurité, le tout en un seul endroit. SecLists contribue à rendre les tests de sécurité plus efficaces et productifs en fournissant facilement toutes les listes dont un testeur de sécurité pourrait avoir besoin. Les types de listes incluent les noms d'utilisateur, les mots de passe, les URL, les charges utiles floues, les modèles de données sensibles, les shells Web, etc. Le testeur peut simplement extraire ce référentiel sur une nouvelle machine de test et il aura accès à tous les types de listes dont il a besoin.

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

Dreamweaver Mac
Outils de développement Web visuel
