2016-07-05 3 views
-1

私はいくつかのCSSアートをやろうとしています。最初は私がscssでnth-child(n)を使用し、子供に異なるクラスを与えるために&:nth-​​childを使用

[href*='#'] { 
    &:after { ..css} 
    &:after { ..css} 
    &:after { ..css} 
} 

経由でこの

<a href='#'></a> 

とスタイリングのようにそれをやっていたが、それはあなたがCSS 3で2つの以上の擬似要素を使用することはできませんが判明し、私はと思いますか?

私は新しいソリューションに目を向けました。これは、3つ以上の子要素を使用することを期待しているからです。

ので、私は私が行くことができると思った、n番目の子(N)セレクタ:だから私は知った

[href*='#'] { 
&:nth-child(1) { ..css} 
&:nth-child(2) { ..css} 
&:nth-child(3) { ..css} 
} 

HTMLで

<a href='#'> 
<div></div> 
<div></div> 
<div></div> 
</a> 

のように見えるが、それは最初の作成します子供のスタイル:o

+0

このSASSやCSSですか? – Kld

+0

@Kld sassは申し訳ありません! – lopu

+0

div:nth-​​child(1){..css} div:nth-​​child(2){..css} div:nth-​​child(3){..css} 作業。 –

答えて

1

あなたはdivsをターゲティングしていません。用途:

<a href='#'> 
    <div>1</div> 
    <div>2</div> 
    <div>3</div> 
</a> 

SCSS:

[href*='#']{ 
    >div{ 
    &:nth-child(1) { color: green } 
    &:nth-child(2) { color: blue } 
    &:nth-child(3) { color: red } 
    } 
} 

JSFiddle

+0

ええ、ちょうど{div {bla bla}}でも動作します。それは奇妙な行動ではないですか?私が読んできたドキュメンテーションから、子供の親のnth-childが実際の子供ではなくその子供を選ぶことができます。それは働いてくれてありがとう: – lopu

+0

それはあなたが選択する必要がありますによって異なります。 'div {}'も動作しますが、これはDOM内のすべてのdivを選択するので、何をしているのか注意深くする必要があります。ここでは、 'nth-child'についての良い記事 - [How nth-child Works](https://css-tricks.com/how-nth-child-works/) – Vucko

+0

Ohh私はあなたが何を意味するかを見て、どうもありがとう:) – lopu

0

あなたはより具体的なセレクタ

[href*='#'] { &:nth-child(1)} => [href*='#']:nth-child(1){} 
を作成したい場合にのみ、それを使用し、 &を必要としません。

ここにスペースが必要です

[href*='#'] { :nth-child(1)} => [href*='#'] :nth-child(1){} 



[href*='#'] { 
    :nth-child(1) { background-color: red;} 
    :nth-child(2) { background-color: yellow;} 
    :nth-child(3) { background-color: green;} 
} 

[href*='#'] :nth-child(1) { background-color: red;} 
 

 
[href*='#'] :nth-child(2) { background-color: yellow;} 
 

 
[href*='#'] :nth-child(3) { background-color: green;}
with the html looking like 
 

 
<a href='#'> 
 
<div>One</div> 
 
<div>Two</div> 
 
<div>Three</div> 
 
</a>

関連する問題