Le contenu de cet article porte sur une compréhension approfondie des sélecteurs de pseudo-classe CSS (exemples de code). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.
Dans le passé, j'ai sporadiquement compris et utilisé des pseudo-classes et des sélecteurs de pseudo-éléments tels que :link
, ::after
et content
, mais récemment j'en ai trouvé lacunes dans cet aspect lors de la lecture d'un livre, j'ai donc décidé de l'étudier un peu plus en profondeur. Ce qui suit est un résumé de la partie pseudo-classe.
Les sélecteurs de pseudo-classe permettent essentiellement aux concepteurs de définir différents effets visuels en fonction de l'état spécifique de l'élément. Plus précisément, ce sont :link
, :visited
, :hover
, :active
, :focus
, :focus-within
, :target
, :root
et :checked
. Les quatre pseudo-classes classiques de
HTMLAnchorElement
:link
sont utilisées pour définir le style de l'état du lien initial
, utilisé pour définir le style du lien après avoir cliqué sur celui-ci ; :visited
, utilisé pour définir le style du lien lorsque la souris est en survolant le lien :hover
, utilisé pour définir le style du lien lorsque le bouton de la souris est enfoncé mais non relâché. :active
), haha. LVAH
) jusqu'à la fin de l'URL, on appelle le hachage ou le fragment de l'URL, qui est utilisé pour localiser une certaine ressource dans la page. Supposons qu'il y ait maintenant un élément #
sur la page. Tant que <h3 id="title">Target</h3>
est saisi dans la barre d'adresse, le navigateur continuera à défiler (le défilement n'a pas nécessairement d'effets d'interpolation) jusqu'à ce que l'élément #title
soit localisé. à un endroit précis de la zone visuelle. (Remarque : veuillez ne pas le confondre avec le routage de l'interface utilisateur) h3#title
Et la ressource de page positionnée mentionnée ci-dessus est appelée
élément cible ou élément actif actuel ! Il peut être stylisé via . :target
Compatibilité : pris en charge par IE9.
// 当前URL为http://foo.com#1 :target { color: red; } .title{ color: blue; &:target{ border: solid 1px red; } } .title{I'm not target element.} .title#1{Yes, I'm.}
est utilisé pour définir le style lorsque l'élément est mis au point. :focus
Compatibilité : IE8 commence à prendre en charge.
Alors, quels éléments prennent en charge l'état de focus ? Ensuite, vous devez d’abord déterminer quelles opérations peuvent être utilisées pour vous concentrer.
Ils sont :
méthode. HTMLElement.prototype.focus()
, a
, button
, input
et select
en HTML5, quand. Lorsqu'un élément est défini avec l'attribut textareas
ou
, l'élément prend en charge l'état de focus. contenteditable
C'est-à-dire que les éléments qui correspondent aux sélecteurs suivants prennent en charge l'état de focus. tabindex
a,button,input,select,textarea,[contenteditable],[tabindex]
tabindex
JS obtient l'élément actuellement ciblé
/* * 加载完成时默认返回body * 若某元素获得焦点时,则返回该元素 */ document.activeElement :: HTMLElement
// 用于检测文档是否得到焦点,即用户是否正在与页面交互 // 页面仅仅位于屏幕可视区域,而用户没有与之交互时返回false。 document.hasFocus :: Void -> Boolean
Compatibilité : Chrome63 est pris en charge. :focus-within
Exemple : Lors de la deuxième confirmation du mot de passe, la case du mot de passe est mise en surbrillance
.form-control{ &:focus-within > input{ &:focus { border: solid 1px skyblue; } &:not(:focus){ border: solid 1px orange; } } } .form-control>input.pwd[type=password]+input.confirm-pwd[type=password]
Style d'élément, pris en charge à partir d'IE9. :root
<html>
et :checked
permet de réaliser des contrôles radio et de contrôle personnalisés, flexibles et efficaces. ::before
content
est un élément avec des nœuds enfants TEXT_NODE, tandis que :empty
est un élément sans nœuds enfants. p{ }
p{}
:not
:placeholder-shown
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!