2017-11-20 3 views
-2

Ich möchte, dies schreiben erreichen.Wie verschachtelte Selektor in CSS

/* Give the 2nd <p> inside the 3rd <div> a 5px white border*/ 
div:nth-of-type(3) { 
    p:nth-of-type(2){ 
     border: 5px solid white; 
    } 
} 

leider :(Es funktioniert nicht

kann
+0

Muss der Selektor verschachtelt werden (was einen Präprozessor erfordern würde)? Oder kann das Element mit reinem CSS angesprochen werden (wo diese Art der Verschachtelung ungültig und nicht einmal notwendig ist)? –

Antwort

3
div:nth-of-type(3) p:nth-of-type(2){ 
     border: 5px solid white; 
    } 

Sie mögen das bedeuten?

1

du in CSS nicht tun,

Was Sie geschrieben ist SCSS Syntax, ein Sass Präprozessor für CSS Sie können erfahren Sie mehr darüber hier http://sass-lang.com/

+0

Sie haben Recht mit seiner Syntax (es könnte entweder SCSS oder LESS sein), aber es ist nicht wahr, es kann nicht in CSS getan werden. Siehe andere Antworten. –

+0

@JordiNebot, es sei denn, er bezieht sich auf die Verschachtelung, was richtig wäre. Das ist in CSS nicht möglich. –

+0

Fair genug @Michael_B :) –

4

CSS Art und Weise.

div:nth-of-type(3) > p:nth-of-type(2) { /* or: div:nth-child(3) > p:nth-child(2) */ 
 
    border: 5px solid black; 
 
} 
 

 
/* can also use: p:last-child if that paragraph is the last one inside the div */
<div></div> 
 
<div></div> 
 
<div> 
 
    <p>First</p> 
 
    <p>Second</p> 
 
</div>

3

div:nth-child(3) > p:nth-child(2) { 
 
    border: 5px solid red; 
 
}
<div> 
 
    <p>text text text</p> 
 
    <p>text text text</p> 
 
    <p>text text text</p> 
 
</div> 
 

 
<div> 
 
    <p>text text text</p> 
 
    <p>text text text</p> 
 
    <p>text text text</p> 
 
</div> 
 

 
<div> 
 
    <p>text text text</p> 
 
    <p>this is the second paragraph inside the third div</p> 
 
    <p>text text text</p> 
 
</div>