FrontEnd/css

css 선택자 반복 코드를 줄여주는 :is 사용 방법 (css 코드 줄이기)

김평범님 2021. 8. 14. 19:55
반응형

css :is 사용하기

css를 이용하다보면, 공통적으로 사용하는 코드들이 발생된다.

이러한 경우 어쩔수 없이 불필요한 코드가 늘어나는 경우가 있다.

이럴 경우 코드를 줄여주는 방법중 하나가 가상클래스를 이용하는 방법이다.

 

오늘은 가상클래스 중 :is 에 대해서 정리해보려고 한다.

 

 Depth가 깊은 엘리먼트에 CSS를 적용할 경우 

만약  li에 color를 red로 지정해주고 싶다고하자.

하지만 그  li의 조건이 div 안에 들어있는 li일 경우,

header안에 있는 li일 경우가 조건이라고 하자.

 

그럼 코드는 위 처럼 작성된다.

div ul li,
div ol li,
header ul li,
header ol li {
	color:red;
}

해당 조건에 맞춰 코드를 작성하다보니 css가 4줄이 넘어가게 된다.

 

 

Depth 선택을 간단히 정리해주는 :is

만약 위의 코드를 :is를 정리하면 위의 코드를 좀더 간단하게 정리가 가능하다.

<html>

<head>
    <style>
        :is(div, header) ul li,
        :is(div, header) ol li {
            color: red;
        }
    </style>
</head>

<body>
    <header>
        <ol>
            <li>header li</li>
        </ol>
        <ul>
            <li>header li</li>
        </ul>
    </header>
    <div>
        <ol>
            <li>div li</li>
        </ol>
        <ul>
            <li>div li</li>
        </ul>
    </div>
</body>

</html>
:is(div, header) ul li,
:is(div, header) ol li {
	color: red;
}

 :is를 이용해서  위와 동일한 역할을 하는 코드를 :is를 통해 정리해줄 수 있다.

:is를 이용한 CSS를 적용한 화면

 

 

반응형