클래스 .highlight
을 여러 요소에 적용하고 요소 유형에 따라 스타일을 적용하고 싶습니다. 나는이 작업을 수행 할 수 있습니다 :하위 선택기가 아닌 클래스 조합 선택기로 후행 앰퍼샌드 (&)를 사용하십시오.
input[type="text"].highlight {...}
select.highlight {...}
someOtherSelector.hightlight {...}
하지만 내 코드를보다 간결하게 후행 앰퍼샌드 (&)를 사용하는 것을 시도하고있다.
.highlight {
input[type="text"].& {
border: 1px solid $brand-purple;
}
}
그러나 나는 다음과 같은 오류 얻을 :
Error: property "input" must be followed by a ':'
나는 또한 시도했다 :
나는 다음과 같은 노력했습니다
.highlight {
input[type="text"]& {
border: 1px solid $brand-purple;
}
}
을하지만 얻을 다음 오류 :
Invalid CSS after "[type="text"]": expected "{", was "&" "&" may only be used at the beginning of a compound selector.
이 문제를 해결할 수있는 방법이 있습니까? 아니면 SASS에서만 수행 할 수 있습니까?
이'로 컴파일 :
는* 편집하여 업데이트 후, 당신은에서 루트 @를 사용할 수 있습니다 input [type = "text"] .highlight'이 아니라, OP가 요청한대로 input [type = "text"]. –
@JonUleis 오! 내 잘못이야. 답변을 업데이트했습니다. –
닫기! 그러나 그것의 결과는'.highlight input [type = "text"]. 그냥'input [type = "text"] 대신에 하이라이트 {...'. highlight {...' – jbyrd