Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
289 views
in Technique[技术] by (71.8m points)

html - How to select one step bigger parent in SCSS

I have already opened a question about this problem. But I think, I solved the problem. SCSS parent selector not works

But here is another problem.

When I write this Scss code:

#partThree{
    display: block;

    .two-parts &{
        display: none;
    }
}

It's turn to this Css code:

.two-parts body #parts #partThree {
  display: none;
}

It should be in Css:

body #parts.two-parts #partThree {
  display: none;
}
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

It looks like your code is wrapped by a body-tag and a #parts-tag. This means you need to change your code to this:

#partThree{
    display: block;
}

&.two-parts #partThree {
    display: none;
}

The & takes EVERYTHING before the current line. So if your final SCSS is:

body {
    #parts {
        #partThree {
            display: block;

            .two-parts & {
                display: none;
            }
        }
    }
}

Then the & will add .two-parts before everything else, and make it:

.two-parts body #parts #partThree {
    display: none;
}

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...