TIL 24 SCSS(2) Nesting

biblee·2023년 4월 10일

TIL

목록 보기
23/28

#Nesting

코드를 좀 더 정확하게 해준다
정확하게는 타겟하는 element를 더 정확하게 해준다

ex)
<body>
<h1>Title</h1>
<div class="box">
<h1>Another title<h1>
</div>
</body>

위를 예시로 class box 안에 있는 h1의 color를 변경하고싶은데
css에서 변경할려면

.box h1{
	color:red;
}

처럼 작성해야할 것이다.
하지만 Nesting을 이용하면 조금 더 쉽게 작성하면서 비슷한 수준의 정확도를 보여준다

Nesting

.box{
color:blue;
	h1{
    	color:red;
       }
 }

위와 같은 방식으로 작성하는 것을 뜻한다
Nesting 말 그대로 중첩하여 작성하는 것이다.

위 코드는 바꿀 요소가 하나밖에 없어서 굳이 이렇게 적어야하나 싶은 생각이 들었지만
사용하다보니 여러요소중에 특정 요소만 변경하고 싶을때 아주 쉽고 유용하고 빠르게 작성할 수 있었기에 무조건 사용하는게 좋다고 본다.

그리고 hover 이벤트를 사용할려면 보통 .box:hover 이렇게 작성하게되는데
Nesting을 이용하면 .box 안에 & 기호를 사용하여 선언할 수 있다.
(& 기호는 현재 요소를 뜻하는것 같다)

.box{
color : blue;
	h1{
		color: red;
	}
	&:hover{ 
		background-color:green;
	}
}

=> Nesting을 조금 더 이용하여 아래와 같이 여러개를 중첩하여 작성할 수 있다.

.box{
color : blue;
	h1{
		color: red;
		&:hover{
			color:blue;
			}
	}
	&:hover{ 
		background-color:green;
	}
}

위와같이 Nesting은 클래스 하나를 선언하고 그안에서 모든것을 끝낼 수 있게 만들어졌다.
그리고 Nesting 안에 Nesting을 사용할 수 있다.

0개의 댓글