recherche
Maisoninterface Webtutoriel CSSUne interview avec Elad Shechter sur 'The New CSS Reset'

Une interview avec Elad Shechter sur

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!

Déclaration
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
Qu'est-ce que CSS Grid?Qu'est-ce que CSS Grid?Apr 30, 2025 pm 03:21 PM

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.

Qu'est-ce que CSS Flexbox?Qu'est-ce que CSS Flexbox?Apr 30, 2025 pm 03:20 PM

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.

Comment pouvons-nous rendre notre site Web réactif à l'aide de CSS?Comment pouvons-nous rendre notre site Web réactif à l'aide de CSS?Apr 30, 2025 pm 03:19 PM

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

Que fait la propriété CSS Box-Sizizing?Que fait la propriété CSS Box-Sizizing?Apr 30, 2025 pm 03:18 PM

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.

Comment pouvons-nous animer à l'aide de CSS?Comment pouvons-nous animer à l'aide de CSS?Apr 30, 2025 pm 03:17 PM

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.

Pouvons-nous ajouter des transformations 3D à notre projet en utilisant CSS?Pouvons-nous ajouter des transformations 3D à notre projet en utilisant CSS?Apr 30, 2025 pm 03:16 PM

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)

Comment pouvons-nous ajouter des gradients dans CSS?Comment pouvons-nous ajouter des gradients dans CSS?Apr 30, 2025 pm 03:15 PM

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.

Que sont les pseudo-éléments dans CSS?Que sont les pseudo-éléments dans CSS?Apr 30, 2025 pm 03:14 PM

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.

See all articles

Outils d'IA chauds

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.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

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 grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version Mac

SublimeText3 version Mac

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

Listes Sec

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

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Dreamweaver Mac

Dreamweaver Mac

Outils de développement Web visuel