본문 바로가기
CSS

CSS 선택자

by dongjin6539 2023. 2. 24.
728x90
반응형

CSS 선택자

 

선택자란 CSS로 UI의 어느 부분을 디자인할지, 표현할 대상이 되는 부분을 말합니다.
CSS로 속성을 부여하는 형식은 { } 안에 여러 속성을 지정할 수 있고, 각 속성 설정 간에는 ' ; ' 으로 구분해주며 마지막 속성 끝에는 구분자를 생략할 수 있습니다. 속성은 가로로 붙여 써도 되고 한 줄씩 따로 입력해도 무방합니다.
앞서 다른 블로그에서 id 선택자와 class 선택자에 대해 미리 알아보았습니다. 
지금 이 블로그에서는 선택자의 모든 종류에 대해 간략하게 알아보겠습니다
선택자의 종류로는 type 선택자id 선택자class 선택자전체 선택자하위 선택자자식 선택자인접 선택자형제 선택자그룹 선택자속성 선택자가상클래스 선택자가상요소 선택자종속 선택자 와 선택자의 우선순위가 있습니다.

 

그럼 이제 알아보도록 하시죠!!!

 

type 선택자 

 

html 문서의 태그 이름을 선택자로 사용할 수 있습니다.

 

See the Pen type 선택자 by dongjin6539 (@dongjin6539) on CodePen.

 

id 선택자

 

HTML 문서의 요소 중 같은 요소라도 각기 다른 이름을 지정하여 따로속성을 부여할 수 있습니다.

HTML 요소에 id로 이름을 붙일 때에는 유일한 이름을 부여해야 하며, 다른 요소에 같은 ID명을 또 주어서는 안됩니다.

CSS에서는 id 선택자 앞에 ' 샵( # ) ' 을 붙여야 합니다. 

단, 숫자로 시작할 수 없으며, 주로 영문자로 시작합니다. 

 

See the Pen Untitled by dongjin6539 (@dongjin6539) on CodePen.

 

class 선택자

 

HTML 문서의 여러 요소 중 같은 이름을 갖는 요소들만 모아 따로 석성을 부여할 수 있습니다. HTML 요소에 같은 이름을 부여할 때에는 class로 이름을 붙입니다. 즉, 여러개의 요소에 같은 class 명을 부여할 수 있습니다. 또한 하나의 요소에 여러 개의 class 명을 부여할 수도 있습니다. CSS에서는 class 선택자 앞에 ' 점( . ) ' 을 붙여야 합니다.

 

See the Pen class 선택자 by dongjin6539 (@dongjin6539) on CodePen.

 

전체 선택자

 

전체 선택자는 페이지의 모든요소를 가리키는 선택자로서 ' * ' 로 표시합니다. 

어떤 id 명이나 class 명이 부여되었든 상관없이, 모든 요소를 표시하도록 속성을 부여한다. 

 

See the Pen Untitled by dongjin6539 (@dongjin6539) on CodePen.

 

하위 선택자

 

하위 선택자는 요소 내부에 있는 모든 해당 요소를 가리키며, 선택자 사이를 공백으로 분리합니다.

하위 선택자"부모 요소 하위의 자식 요소"를 선택하는 데 사용됩니다. 이를 위해서는 부모 요소를 선택한 다음에 하위 선택자를 사용하여 해당 부모 요소의 하위 요소를 선택합니다. 

 

See the Pen 하위 선택자 by dongjin6539 (@dongjin6539) on CodePen.

 

자식 선택자

 

자식 선택자는 CSS에서 사용되는 선택자 중 하나로, 부모 요소의 직계 자식 요소를 선택하는 방법입니다.

자식 선택자는 요소 내부에 있는 해당 요소를 가리키지만, 하위 요소의 하위 요소는 가리키지 않으며 선택자 사이를 ' > ' 으로 분리합니다.

 

See the Pen 자식 선택자 by dongjin6539 (@dongjin6539) on CodePen.

 

인접 선택자

 

인접 선택자는 CSS에서 사용되는 선택자 중 하나로, 특정 요소의 인접한 형제 요소를 선택하는 데 사용됩니다.

인접 선택자는 현재 요소의 바로 뒤에 나오는 요소만을 가리키는 선택자로, 선택자 사이를 ' + ' 로 분리합니다.

 

See the Pen 인접 선택자 by dongjin6539 (@dongjin6539) on CodePen.

 

형제 선택자

 

형제 선택자는 CSS에서 두 개의 요소 중에서 첫 번째 요소 다음에 바로 나오는 두 번째 요소를 선택하는 선택자입니다.

형제 선택자는 현재 요소와 같은 계층에 있는 요소만을 선택할 수 있으며 ' ~ ' 로 구분합니다. 

 

See the Pen 형제 선택자 by dongjin6539 (@dongjin6539) on CodePen.

 

그룹 선택자

 

그룹 선택자는 CSS에서 여러 요소를 그룹화하여 스타일을 적용할 때 사용됩니다.

여러 개의 요소에 대해 동일한 스타일을 적용할 경우에 유용합니다.

이를 통해 코드의 가독성을 높이고 스타일링 작업을 간편하게 할 수 있습니다.

그룹 선택자는 여러 선택자들을 ' , ' 로 구분하여 함께 묶어 속성을 부여하는 것입니다. 

 

See the Pen 그룹 선택자 by dongjin6539 (@dongjin6539) on CodePen.

 

속성 선택자

 

HTML 요소의 속성 유무 또는 속성값을 중괄호 [ ] 안에 넣어 선택자로 사용할 수 있습니다.

속성 값 설명
h1[class] class 명을 가진 h1 요소
img[alt] alt 속성을 가진 img 요소
p[class = "abc"] class 명이 유일하게 'abc'인 p 요소
p[class ~= "abc"] class 명이 유일하게 'abc'이거나 여러 개의 class 명 중 하나가 'abc'인 p 요소 
p[class |= "abc"] class 명이 'abc'이거나 'abc-'로 시작하는 p 요소
p[class ^= "abc"] class 명이 철자 'abc'로 시작하는 p 요소
p[class $= "abc"] class 명이 철자 'abc'로 끝나는 p 요소
p[class *= "abc"] class 명이 철자 'abc'가 포함되어 있는 p 요소
a[href ^= "mailto"] href 속성값이 'mailto'로시작하는 a 요소 

 

See the Pen 속성 선택자 by dongjin6539 (@dongjin6539) on CodePen.

 

가상클래스 선택자

 

가상클래스 선택자란 링크가 걸린 문자에 스타일을 부여하는 것입니다.

가상클래스 선택자콜론( : )으로 시작합니다.

속성 값 설명
a:link 링크가 걸린문자에 속성을 부여하는 선택자 
a:visited 링크를 클릭하여 해당 페이지에 갔다가 돌아온 경우의 속성을 부여하는 선택자
a:hover 링크가 걸린 문자에 마우스가 닿았을 경우의 속성을 부여하는 선택자 
a:active 링크 걸린 글자가 활성화되었을 경우의 속성을 부여하는 선택자
(클릭했다가 돌아왔거나 클릭하려다 만 경우)
a:focus 링크 걸린 글자에 포커스가 생길 경우의 속성을 부여하는 선택자
(키보드의 Tab키 등으로 포커스가 나타날 경우) 

 

See the Pen 가상클래스 선택자 by dongjin6539 (@dongjin6539) on CodePen.

 

가상요소 선택

 

가상요소 선택자는 요소에 id 명이나 class 명을부여하지 않고도 위치를 찾아서 선택할 수 있는 선택자입니다. 

가상요소 선택자콜론(:)으로 표시되며, 해당 요소의 일부분에 대한 스타일을 정의할 수 있습니다.

속성 값 설명
:first-letter 요소의 첫 글자
:first-line 요소의 첫 줄
:first-child 같은 요소 중 첫 번째 요소
:last-child 같은 요소 중 마지막 요소
:nth-child(n) 같은 요소 중 n번째 요소
:before 요소 안 맨 앞에 배치될 요소 (마크업에는 없는 가상 요소)
:after 요소 안 맨 뒤에 배치될 요소 (마크업에는 없는 가상 요소) 

 

See the Pen 가상요소 선택자 by dongjin6539 (@dongjin6539) on CodePen.

 

종속 선택자

 

종속 선택자는 type 선택자와 id 선택자, class 선택자가 결합된 상태입니다.

종속 선택자는 다른 요소의 자식 요소, 후손 요소, 형제 요소 등을 선택할 수 있습니다.

종속 선택자" " (공백)으로 표시됩니다. 이것은 하나의 요소 안에 다른 요소가 있을 때 사용됩니다.

 

See the Pen 종속 선택자 by dongjin6539 (@dongjin6539) on CodePen.

 

선택자의 우선순위

 

같은 선택자가 여러 CSS 명령을 중복으로 받으면 어떤 일이 일어날까요? 일반적으로 우선순위가 같은 선택자라면 나중에 기술한 것이 먼저 기술한 것보다 우선순위가 높습니다.

요소에 직접 style=" " 형식으로 CSS를 기술하는 인라인 스타일은 위의 모든 선택자보다 우선적으로 실행됩니다. 지금까지 나온 방법보다 최우선으로 CSS를 적용해야 할 경우에는 선택자에 속성을 부여하는 마지막에 "!important;"를 붙이면 됩니다.

선택자 우선순위

전체 선택자 < type 선택자 < class 선택자, 가상 선택자 < id 선택자 < inline style < !important
728x90
반응형