recherche
Maisoninterface Webtutoriel CSSCSS Pseudo-classes :: non () et: cible

Cet article explore les pseudo-classes polyvalentes CSS :not() et :target, présentant leur pouvoir en créant des styles sophistiqués et ciblés. Nous allons approfondir leurs fonctionnalités et démontrer des applications pratiques, y compris la création d'onglets sans javascript.

CSS Pseudo-classes: :not() and :target

Concepts clés:

  • Le :not() pseudo-classe agit comme un filtre, sélectionnant tous les éléments sauf ceux qui correspondent à un sélecteur donné. Cela permet une exclusion précise des éléments des règles de style.
  • Le :target pseudo-classe met en évidence la section de document correspondant à un fragment d'URL spécifique (la partie après le symbole #). Cela permet de créer des éléments interactifs sans javascript.

onglets sans javascript avec :target:

En manipulant intelligemment les fragments d'URL et en :target pseudo-classe, nous pouvons créer des interfaces à onglets fonctionnelles sans compter sur JavaScript. Cliquez sur un onglet met à jour le fragment d'URL, déclenchant le style :target sur le contenu de l'onglet correspondant, ce qui en fait le calque visible.

excluant les éléments avec :not():

Le pouvoir de

:not() réside dans sa capacité à exclure les éléments des règles de style. Cependant, sa limitation actuelle d'accepter un seul argument nécessite un chaînage pour plusieurs exclusions. Par exemple, input:not([type=radio]):not([type=checkbox]):not([type=range]) sélectionne tous les éléments d'entrée sauf les boutons radio, les cases à cocher et les entrées de plage. Les spécifications futures du CSS promettent une amélioration des fonctionnalités, permettant aux arguments séparés des virgules dans :not().

CSS Pseudo-classes: :not() and :target

Extrait de "CSS Master" par Tiffany B. Brown. Disponible en librairies et en tant que livre électronique.

Cette section explore les pseudo-classes avancées, y compris les pseudo-classes indexées par l'enfant et tapées sur l'enfant (sélectionnant des éléments par position dans l'arborescence de documents) et des pseudo-classes d'entrée (ciblage des champs de formulaire en fonction de leurs valeurs et états).

Soulignation des fragments de page:

Les identificateurs de fragments (par exemple, #top, #footnote1) sont utilisés pour la navigation en page. Le :target pseudo-classe nous permet de styliser la section correspondant à l'identifiant de fragment actuel sans javascript. Par exemple:

.comment:target {
  background: #ffeb3b;
  border-color: #ffc107;
}

Ce styles commente avec un fond jaune lorsque leur identifiant correspond au fragment URL.

CSS Pseudo-classes: :not() and :target

CSS Pseudo-classes: :not() and :target

Création d'onglets CSS uniquement:

Le :target pseudo-classe est la clé pour créer des onglets sans javascript. En définissant les valeurs z-index basées sur l'état :target, nous nous assurons que seule l'onglet sélectionné est visible.

.comment:target {
  background: #ffeb3b;
  border-color: #ffc107;
}
<div class="tabbed-widget">
  <div class="tab-wrap">
    <a href="https://www.php.cn/link/7426f79c9a7f5af0a6cc457b2a7fb195">Tab 1</a>
    <a href="https://www.php.cn/link/60430f4a984aa0a534e027339a7580a7">Tab 2</a>
    <a href="https://www.php.cn/link/9d4f684ba088d28ad1c2ae7d0aee496a">Tab 3</a>
  </div>
  <ul class="tab-body">
    <li id="tab1"><p>This is tab 1.</p></li>
    <li id="tab2"><p>This is tab 2.</p></li>
    <li id="tab3"><p>This is tab 3.</p></li>
  </ul>
</div>

CSS Pseudo-classes: :not() and :target

Conseil d'accessibilité: Pour une meilleure accessibilité, envisagez d'utiliser JavaScript pour gérer aria-hidden Attributs.

:not() en action:

La pseudo-classe :not() est démontrée par les étiquettes de formulaire de style, à l'exclusion de ceux avec la classe label-radio.

[id^=tab] { position: absolute; }
[id^=tab]:first-child { z-index: 1; }
[id^=tab]:target { z-index: 2; }

CSS Pseudo-classes: :not() and :target

chaînage :not() est crucial lors de l'exclusion de plusieurs types d'éléments, comme indiqué ci-dessous:

label:not(.label-radio) {
  font-weight: bold;
  display: block;
}

Cela cible efficacement tous les types d'entrée sauf radio, case à cocher et plage.

FAQS sur :not() Sélecteur:

Cette section fournit des réponses aux questions courantes concernant le sélecteur :not(), couvrant sa fonctionnalité, sa prise en charge du navigateur et l'utilisation avec divers sélecteurs CSS. Les réponses sont similaires à celles du texte d'origine, mais reformulé pour plus de clarté et de concision.

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
Demystifier les lecteurs d'écran: formulaires accessibles et meilleures pratiquesDemystifier les lecteurs d'écran: formulaires accessibles et meilleures pratiquesMar 08, 2025 am 09:45 AM

Ceci est le 3ème article d'une petite série que nous avons faite sur l'accessibilité. Si vous avez manqué le deuxième article, consultez "Gestion de la mise au point des utilisateurs avec: Focus-visible". Dans

Ajout d'ombres de boîte aux blocs et éléments WordPressAjout d'ombres de boîte aux blocs et éléments WordPressMar 09, 2025 pm 12:53 PM

Le CSS Box-Shadow et les propriétés de contour ont gagné le thème. Laissez regarder quelques exemples de la façon dont cela fonctionne dans des thèmes réels et des options que nous devons appliquer ces styles aux blocs et éléments WordPress.

Faire votre première transition Svelte personnaliséeFaire votre première transition Svelte personnaliséeMar 15, 2025 am 11:08 AM

L'API de transition Svelte fournit un moyen d'animer les composants lorsqu'ils entrent ou quittent le document, y compris les transitions Svelte personnalisées.

Travailler avec GraphQL CachingTravailler avec GraphQL CachingMar 19, 2025 am 09:36 AM

Si vous avez récemment commencé à travailler avec GraphQL ou examiné ses avantages et ses inconvénients, vous avez sans aucun doute entendu des choses comme "GraphQL ne prend pas en charge la mise en cache" ou

Barbars CSS personnalisés chics et cool: une vitrineBarbars CSS personnalisés chics et cool: une vitrineMar 10, 2025 am 11:37 AM

Dans cet article, nous plongerons dans le monde des barres de défilement. Je sais, ça ne semble pas trop glamour, mais croyez-moi, une page bien conçue va de pair

Show, ne dit pasShow, ne dit pasMar 16, 2025 am 11:49 AM

Combien de temps passez-vous à concevoir la présentation de contenu pour vos sites Web? Lorsque vous écrivez un nouveau blog ou créez une nouvelle page, pensez-vous à

Construire une application Ethereum à l'aide de Redwood.js et de la fauneConstruire une application Ethereum à l'aide de Redwood.js et de la fauneMar 28, 2025 am 09:18 AM

Avec la récente montée du prix du bitcoin sur 20k $ USD, et pour lui, récemment en train de briser 30k, je pensais que cela valait la peine de reprendre une profonde plongeon dans la création d'Ethereum

Que diable sont les commandes NPM?Que diable sont les commandes NPM?Mar 15, 2025 am 11:36 AM

Les commandes NPM exécutent diverses tâches pour vous, soit en tant que processus unique ou en cours d'exécution pour des choses comme le démarrage d'un serveur ou la compilation de code.

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

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

SublimeText3 version anglaise

SublimeText3 version anglaise

Recommandé : version Win, prend en charge les invites de code !

mPDF

mPDF

mPDF est une bibliothèque PHP qui peut générer des fichiers PDF à partir de HTML encodé en UTF-8. L'auteur original, Ian Back, a écrit mPDF pour générer des fichiers PDF « à la volée » depuis son site Web et gérer différentes langues. Il est plus lent et produit des fichiers plus volumineux lors de l'utilisation de polices Unicode que les scripts originaux comme HTML2FPDF, mais prend en charge les styles CSS, etc. et présente de nombreuses améliorations. Prend en charge presque toutes les langues, y compris RTL (arabe et hébreu) ​​et CJK (chinois, japonais et coréen). Prend en charge les éléments imbriqués au niveau du bloc (tels que P, DIV),

Adaptateur de serveur SAP NetWeaver pour Eclipse

Adaptateur de serveur SAP NetWeaver pour Eclipse

Intégrez Eclipse au serveur d'applications SAP NetWeaver.

SublimeText3 version Mac

SublimeText3 version Mac

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

MantisBT

MantisBT

Mantis est un outil Web de suivi des défauts facile à déployer, conçu pour faciliter le suivi des défauts des produits. Cela nécessite PHP, MySQL et un serveur Web. Découvrez nos services de démonstration et d'hébergement.