Heim > Web-Frontend > CSS-Tutorial > Detaillierte Erläuterung der komplexen CSS3-Selektoren

Detaillierte Erläuterung der komplexen CSS3-Selektoren

高洛峰
Freigeben: 2017-03-24 11:22:24
Original
1601 Leute haben es durchsucht

Ich habe mir heute den Teil zum komplexen CSS3-Selektor im Video zu Ende angesehen und lasst uns die Wissenspunkte sortieren, die ich gelernt habe.

1. Geschwisterselektoren: auf derselben Positionsebene, können als Geschwisterelemente bezeichnet werden

a, Benachbarte Geschwisterselektoren: nächste
Unmittelbar nach [dem aktuellen Element] (eins) folgt das Element, das den Selektor angibt
Syntax: Verwenden Sie „+“ als Konjugator
z. B.: p+p ->p unmittelbar nach dem p-Element

<!-- 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;
}
Nach dem Login kopieren

b, Universeller Geschwisterselektor: next_alle
stimmt mit [allen nachfolgenden] Geschwisterelementen eines Elements überein, die den angegebenen Selektor erfüllen
Syntax: Verwenden Sie „~“ als Konjugator
zB: p~p{} -> Alle p nach p abgleichen

2, Attribute-Selektor: Elemente verwenden Die angehängten Attribute werden in Selektoren als Bedingungen für verwendet Elemente auswählen
Syntax: [attributbezogener Inhalt]
z. B.: [id] -> Alle Elemente mit ID-Attributen
p[id] ->p Element mit ID-Attribut
a.[ id],p[id]
b.p[id][class] ->Mit sowohl id als auch class p-Element
c, p[id="p1"] ->p Element mit ID-Wert „p1“
d, p[class~="value"]
e, p[class^ ="b"] -> Passt zu p-Tags, deren Klassenattributwert mit b <🎜 beginnt > f, p[class*="b"] -> Übereinstimmung mit p-Tags, deren Klassenattributwert b enthält
g, p[class$="b"] -> Übereinstimmung mit dem p-Tag, dessen Klassenattributwert endet mit 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~=&#39;p1&#39;]{
background-color: #cd2c2d;
color: #fff;
}
div[class ^= "us"]{
background-color: #bfb;
}
div[class$="t"]{
background-color: #bfb;
color: #333;
}
Nach dem Login kopieren
3. Pseudo

Klassenselektor a. Ziel
Pseudoklasse : Markieren Sie aktives HTML Anker Syntax: :target
b. Element
State Pseudoklasse: Wird hauptsächlich für Formularelemente verwendet 1. :enabled -> Entspricht jedem aktivierten Element
2. :disabled -> ; Entspricht jedem deaktivierten Element
3. :checked -> Entspricht dem ausgewählten Formularelement (gilt nur für Kontrollkästchen, Radio)
Strukturelle Pseudoklasse
:first-child
-> Entspricht dem ersten untergeordneten Element <🎜, das zu seinem übergeordneten Element gehört > 2. :last-child -> Entspricht dem letzten untergeordneten Element, das zu seinem übergeordneten Element gehört 3. :empty -> Untergeordnete Elemente (Textinhalte oder Leerzeichen werden ebenfalls als untergeordnete Elemente gezählt) 4. :only-child -> Entspricht dem einzigen untergeordneten Element
, das zu seinem übergeordneten Element d gehört nicht spezifizierte Selektoren
Syntax: :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;
}
Nach dem Login kopieren
<!-- 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;
}
Nach dem Login kopieren
4. Pseudo-
<!-- 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;
}
Nach dem Login kopieren
Elementselektor
<!-- 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;
}
Nach dem Login kopieren
: Alle übereinstimmenden Elemente sind Textinhalte

a. : erster Buchstabe - > Übereinstimmung mit dem ersten Zeichen
b, :erste Zeile -> Übereinstimmung mit der ersten Zeile
Die beiden oben genannten Selektoren , Inline-Elemente sind ungültig, Inline-Blöcke und Blockebenen können c, ::selection -> Von europäischen Kompensationsbenutzern ausgewählter Textstil sein (Firefox scheint inkompatibel zu sein)

Das Obige ist Alles, was ich im Video gelernt habe, hoffe ich, dass die Zuschauer Vorschläge und zeitnahe Korrekturen erhalten. .

<!-- 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;
}
Nach dem Login kopieren
Heute ist der zweite Tag, seit ich meinen Blog eröffnet habe. Dies ist der erste Artikel, den ich hier ausschließlich als meine eigenen Studiennotizen veröffentliche, in der Hoffnung, mein Wachstum festzuhalten.

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der komplexen CSS3-Selektoren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage