Aujourd'hui, j'ai fini de regarder la partie du sélecteur complexe CSS3 dans la vidéo, et trions les points de connaissances que j'ai appris.
1. Sélecteurs frères et sœurs : au même niveau de position, peuvent être appelés éléments frères
a, Sélecteurs frères et sœurs adjacents : suivant
Immédiatement après [l'élément actuel] (un), l'élément spécifiant le sélecteur
Syntaxe : Utilisez "+" comme conjugateur
par exemple : p+p ->p immédiatement après p Élément
<!-- demo.html --> <html> <head> <title></title> </head> <body> <p>这是第一个段落</p> <div id="d1">这是一个div</div> <span>这是一个span</span> <p class="p1">这是第二个段落</p> <b>Hello World</b> <p class="p2">这是第三个段落</p> </body> </html> /*demo.css*/ div+p{ background: yellow; } #d1+p{ background: red; } span+.p1{ background: blue; }
b, Sélecteur frère universel : next_all
correspond à [tous les éléments frères suivants d'un élément qui satisfont au sélecteur spécifié
Syntaxe : utilisez "~" comme conjugateur
par exemple : p~p{} -> Faire correspondre tous les p après p
2, Sélecteur d'attribut : Utiliser des éléments Les attributs attachés sont utilisés dans les sélecteurs comme conditions pour sélection d'éléments
Syntaxe : [contenu lié à l'attribut]
par exemple : [id] -> Tous les éléments avec des attributs id
p[id] ->p élément avec un attribut id
a.[ id],p[id]
b.p[id][class] ->Avoir à la fois l'élément id et class p
c, p[id="p1"] ->p élément avec la valeur d'identifiant "p1"
d, p[class~="value"]
e, p[class^ ="b"] -> Correspond à p balises dont la valeur d'attribut de classe commence par b
f, p[class*="b"] -> Correspond à la balise p dont la valeur d'attribut de classe contient b
g, p[class$="b"] -> Correspond à la balise p dont la valeur d'attribut de classe se termine avec b
<!-- demo.html --> <html> <head> <title></title> </head> <body> <p class="clear p1 myself"> 这是第四个段落 </p> <div class="userContent"> 文本内容 </div> </body> </html> /*demo.css*/ p[class]{ color: #e4393c; } p[class~='p1']{ background-color: #cd2c2d; color: #fff; } div[class ^= "us"]{ background-color: #bfb; } div[class$="t"]{ background-color: #bfb; color: #333; }
3. Pseudosélecteur de classe
a. CiblePseudo-classe : Mettre en surbrillance le HTML actif Ancre
Syntaxe : :target
b. Element State Pseudo-classe : principalement utilisée sur les éléments de formulaire
1. :enabled -> Correspond à tous les éléments activés
2. :disabled -> ; Correspond à tous les éléments désactivés
3. :checked -> Correspond à l'élément de formulaire sélectionné (applicable uniquement à la case à cocher, radio)
c. Pseudo-classe structurelle
1. :first-child -> Correspond au premier élément enfant <🎜 qui appartient à son élément parent > 2. :last-child -> Correspond au dernier élément enfant appartenant à son élément parent
3. :empty -> éléments enfants (le contenu du texte ou les espaces sont également comptés comme éléments enfants)
4. :only-child -> Correspond au seul élément enfant
qui appartient à son élément parent d. sélecteurs non spécifiés
Syntaxe : :not(selector)
<!-- demo01.html 目标伪类 --> <html> <head> <title></title> </head> <body> <a href="#Tom">猫和老鼠(Tom and Jerry)</a> <a href="#Atongmu">铁臂阿童木</a> <a href="#BlackCat">黑猫警长</a> <br> <a name="Tom">第一部:Tom and Jerry</a> <p style="height: 500px;">Tom and Jerry</p> <div id="Atongmu" style="height: 500px;">我是阿童木</div> <div id="BlackCat" style="height: 500px;">I am Mr Black Cat</div> </body> </html> /*demo01.css*/ a:target,div:target{ background-color: #bfb; font-size: 20pt; }
<!-- demo02.html 结构伪类 --> <html> <head> <title></title> </head> <body> <div id="d1"></div> <div id="d2"> <p>This is a p</p> </div> <div id="d3"> This id d3 </div> <div id="d4"> <b>first</b> <b>second</b> <b>third</b> <b>last</b> </div> </body> </html> /*demo02.css*/ div{ width: 100px; height: 100px; } b{ display: block; } div:empty{ background-color: #bfb; } p:only-child{ background-color: #fbf; } b:first-child{ font-size: 2em; color: #fbb; } b:last-child{ font-size: 3em; font-weight: normal; color: #bbf; }
<!-- demo03.html 伪元素状态伪类 --> <html> <head> <title></title> </head> <body> 用户名称:<input type="text"><br> 用户昵称:<input type="text" disabled value="请输入您的昵称"> <br> 性别:<input type="radio" name="rdoGender">男 <input type="radio" name="rdoGender">女 </body> </html> /*demo03.css*/ input:enabled{ color: red; } input:disabled{ border: 1px solid #f00; } input[name=rdoGender]:checked{ background-color: #bfb; }
<!-- demo04.html 否定伪类 --> <html> <head> <title></title> </head> <body> <div> 用户名称:<input type="text"><br> 用户密码:<input type="password"><br> <input type="submit" value="提交"> <input type="button" value="按钮"> </div> </body> </html> /*demo04.css*/ input:not(:last-child){ border: 1px solid #f00; }
sélecteur d'élément : Tous ceux qui correspondent sont du contenu textuel a.
: première lettre - > Correspond au premier caractère b,
: première ligne -> Correspond à la première ligne Les deux sélecteurs ci-dessus , les éléments en ligne ne sont pas valides, les blocs en ligne et les niveaux de bloc peuvent être
c, ::selection -> Style de texte sélectionné par les utilisateurs de compensation européens (Firefox semble incompatible)
<!-- demo.html 为元素选择器 --> <html> <head> <title></title> </head> <body> <p> 风风雨雨适合于独行,且手中无伞,不打伞有不打伞的好处。湿是我的湿,冷是我的冷,即便化作雨点般的小,那么小也是我的小。 </p> <span> 风风雨雨适合于独行,且手中无伞,不打伞有不打伞的好处。湿是我的湿,冷是我的冷,即便化作雨点般的小,那么小也是我的小。 </span> </body> </html> /*demo.css*/ p{ width: 200px; border: 1px solid #bfb; margin: 10% auto; text-indent: 5px; } span{ /*float: right;*/ /*display: inline-block;*/ position: absolute; top: 300px; left: 500px; } p:first-letter{ font-size: 20pt; color: #fbb; } p:first-line{ font-style: italic; } span:first-line{ font-style: italic; background-color: #ffb; } p::selection{ background-color: #bbf; color: #fbf; }
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!