id, class 속성
- Global Attribute, 공용 속성이다.
- 모든 태그들이 다 가지고 있는 속성
- id 속성
- HTML 문서에서 각 요소들을 구분하기 위해 사용한다.
- HTML 문서에서 id들은 고유한 값으로 부여되어야 한다.
- CSS를 적용하거나 JS Event 처리코드를 적용할 때 사용한다.
- '#' 기호와 연계해서 사용한다.
- class 속성
- 태그들을 그룹지을 때 사용한다
- 여러 태그 요소들에게 같은 클래스 값을 적용하여 같은 그룹으로 표현한다.
- 같은 클래스 값을 가진 태그들에게 공통적인 스타일을 적용할 수 있다.
<div class="red"> </div>
<p class="red"> </p>
<!--
-> "red"라는 이름으로 같은 스타일을 부여할 수 있다.
. 기호를 이용하여 표현한다.
띄어쓰기로 구분하여 여러 값을 부여할 수 있다.
-->
<div class="red content extra"> </div>
선택자, Selector
- HTML 문서에서 특정 요소를 선택하는 CSS 문법
- 선택한 요소들에게 일괄적으로 같은 스타일을 적용할 수 있다.
선택자의 종류
- 전체 선택자
- 모든 태그의 기본 설정을 넣을 때 사용하는 전체 선택자
- 브라우저가 자동으로 넣어주는 CSS를 없앨 때 사용한다
- 해당 문서에서 사용할 기본 폰트스타일을 적용할 때 사용한다
* {
}
- 태그 선택자
tagName {
}
- 아이디 선택자
#idName {
}
- 클래스 선택자
.classname {
}
- 위의 4개의 선택자(전체, 태그, 아이디, 클래스)들이 가장 많이 사용되는 선택자이다
- 복합 선택자
- 둘 이상의 선택자를 복합적으로 사용하는 선택자
- 선택자에 포함된 요소들의 관계를 따져 태그들을 선택한다
- 하위(자손) 선택자 - Descendent
- E F : E의 하위 요소인 F를 선택한다.
- ex) div p { }
- -> div 요소의 자손 중 모든 p 태그 요소
- #board .title { }
- -> id가 board 인 요소의 자손 중 class가 title 인 요소
- 자식 선택자 - Child
- E > F : E 요소의 자식인 F 요소 전부 선택
- 형제 선택자 - Sibling
- E + F : E 요소의 인접형제 F 요소 (E요소의 바로 뒤에 위치한 F요소 한 개)
- E ~ F : E 요소의 일반형제 F 요소 (E요소의 뒤에 위치하는 모든 F요소)
- 하위(자손) 선택자 - Descendent
h1+p {
/* 바로 뒤에 위치한 한 개의 태그만 선택한다. */
background-color: yellow;
}
h1~h1 {
background-color: green;
}
.choco + .choco {
color: blue;
}
p + p {
font-style: italic;
}
- 속성 선택자
- 요소의 속성(Attribute)를 이용하여 선택하는 선택자
- [attr] : attr 속성을 가지고 있는 요소를 모두 선택한다.
- E[attr] : attr 속성을 가지고 있는 E 요소를 모두 선택
- E[attr="val"] : attr속성의 값이 "val"과 같은 E요소를 선택
- 띄어쓰기 포함하여 속성의 값이 완전 일치해야 선택이 된다.
- E[attr~="val"] : attr 속성의 값이 "val"을 완전 포함하는 E요소를 선택
- 띄어쓰기로 구분된 단어와 같은 값이면 선택이 된다.
- E[attr^="val"] : attr 속성의 값이 "val"로 시작하는 E요소 선택
- E[attr$="val"] : attr 속성의 값이 "val"로 끝나는 E요소 선택
- E[attr*="val"] : attr 속성의 값이 "val"을 부분 포함하는 E요소 선택
- E[attr|="val"] : attr 속성의 값이 "val"과 같거나 "val-"로 시작하는 E요소 선택
- 요소의 속성(Attribute)를 이용하여 선택하는 선택자
/* class 속성을 가지고 있는 div 태그 요소 */
div[class] {
border: 1px solid green;
}
/* title 속성의 값으로 "greeting"을 가지고 있는 H1 태그 요소 */
h1[title="greeting"] {
border: 1px solid blue;
}
/* title 속성의 값으로 "greeting"이라는 단어를 완전하게 포함하는 h1 태그 요소 */
h1[title~="greeting"] {
border: 1px solid red;
}
/* 클래스 이름 "abc"라는 단어를 포함하고 있는 h1 태그 */
/* ~=가 아닌 =만 존재한다면 포함하고 있으면 안되고 완전하게 일치해야한다. */
/* = 는 너무 어려우니 h1.abc 와 같은 식으로 표현하는것도 괜찮다. */
h1[class~="abc"] {
background: yellow;
}
/* */
/* 클래스의 값이 te로 시작하는 태그 검색 */
h1[class^="te"] {
font-size: 100px;
}
/* 클래스의 값이 st로 끝나는 태그 검색 */
h1[class$="st"] {
border: 1px dotted orange;
}
/* class의 값으로 "d"를 포함하는 h1 태그 요소 */
h1[class*="d"] {
background: tomato;
}
/* class의 값이 abc이거나 abc- 로 시작하는 태그 요소 검색 */
h1[class|="abc"] {
font-size: 75px;
}
- 가상 선택자
- Psuedo Selector, 의사 선택자
- HTML 문서에 실제 요소로는 존재하지 않는 대상을 선택한다. 이벤트 기반, 특정 순서기반 선택자가 있다.
- 가상 클래스 선택자 (이벤트 기반)
- :hover : onMouseOver 이벤트에 반응하여 선택
- :active : onMouseDown 이벤트에 반응한다
- :link : 'a' 태그의 방문 전 상태
- :visited : 'a' 태그의 방문 후 상태
- :enable : 활성화(enable) 상태인 요소
- :disable : 비활성화(disable) 상태인 요소, focus를 가질 수 있는 상태인지 판단해서 선택
- :checked : checked 상태인 요소(Checkbox, Radiobutton)
- :focus : onfocus 상태인 요소(포커스를 가지고 있는 요소)
- :empty : 컨텐츠가 비어있는 요소, 자식요소가 없는 대상을 선택
- 가상 클래스 선택자 (순서 기반)
- :root : 최상위 태그, html 태그를 뜻한다.
- :nth-child(n) : 앞에서부터 n번째 요소
- nth-last-child(n) : 뒤에서부터 n번째 요소
- first-child : 첫번째 요소
- last-child : 마지막 요소
- only-child : 유일한 자식(형제요소가 없을 때)
- only-of-type : 유일한 타입일 때(형제요소가 있더라도 단독 타입일 때)
- 가상 요소 선택자
- ::before : 태그 요소의 앞에 가상요소 추가
- ::after : 태그 요소의 뒤에 가상요소 추가
- ::first-line : 내용의 맨 첫번째줄에 스타일을 적용해준다.
- ::first-letter : 내용의 맨 첫번째줄의 첫번째 글자에 스타일을 적용해준다
- 가상 클래스 선택자 (이벤트 기반)
/* 예제가 너무 길어서 KHFrontend repository Selector/Selector07,08 참고하기
- 부정 선택자
- :not(s) - 조건 S를 만족하지 않는 요소 (S는 Selector를 이용하여 작성한다.)
:not(ul) {
/* UL 태그가 아닌 요소 */
}
반응형
'FrontEnd > CSS' 카테고리의 다른 글
[CSS] CSS의 크기 단위 (0) | 2020.09.29 |
---|---|
[CSS] CSS, Cascading Style Sheets (0) | 2020.09.29 |
[CSS] CSS 에서 사용하는 색상 단위 (0) | 2020.08.08 |
[CSS] CSS 레이아웃 (0) | 2020.08.08 |
[CSS] HTML에 CSS를 적용하기 (0) | 2020.08.07 |
id, class 속성
- Global Attribute, 공용 속성이다.
- 모든 태그들이 다 가지고 있는 속성
- id 속성
- HTML 문서에서 각 요소들을 구분하기 위해 사용한다.
- HTML 문서에서 id들은 고유한 값으로 부여되어야 한다.
- CSS를 적용하거나 JS Event 처리코드를 적용할 때 사용한다.
- '#' 기호와 연계해서 사용한다.
- class 속성
- 태그들을 그룹지을 때 사용한다
- 여러 태그 요소들에게 같은 클래스 값을 적용하여 같은 그룹으로 표현한다.
- 같은 클래스 값을 가진 태그들에게 공통적인 스타일을 적용할 수 있다.
<div class="red"> </div>
<p class="red"> </p>
<!--
-> "red"라는 이름으로 같은 스타일을 부여할 수 있다.
. 기호를 이용하여 표현한다.
띄어쓰기로 구분하여 여러 값을 부여할 수 있다.
-->
<div class="red content extra"> </div>
선택자, Selector
- HTML 문서에서 특정 요소를 선택하는 CSS 문법
- 선택한 요소들에게 일괄적으로 같은 스타일을 적용할 수 있다.
선택자의 종류
- 전체 선택자
- 모든 태그의 기본 설정을 넣을 때 사용하는 전체 선택자
- 브라우저가 자동으로 넣어주는 CSS를 없앨 때 사용한다
- 해당 문서에서 사용할 기본 폰트스타일을 적용할 때 사용한다
* {
}
- 태그 선택자
tagName {
}
- 아이디 선택자
#idName {
}
- 클래스 선택자
.classname {
}
- 위의 4개의 선택자(전체, 태그, 아이디, 클래스)들이 가장 많이 사용되는 선택자이다
- 복합 선택자
- 둘 이상의 선택자를 복합적으로 사용하는 선택자
- 선택자에 포함된 요소들의 관계를 따져 태그들을 선택한다
- 하위(자손) 선택자 - Descendent
- E F : E의 하위 요소인 F를 선택한다.
- ex) div p { }
- -> div 요소의 자손 중 모든 p 태그 요소
- #board .title { }
- -> id가 board 인 요소의 자손 중 class가 title 인 요소
- 자식 선택자 - Child
- E > F : E 요소의 자식인 F 요소 전부 선택
- 형제 선택자 - Sibling
- E + F : E 요소의 인접형제 F 요소 (E요소의 바로 뒤에 위치한 F요소 한 개)
- E ~ F : E 요소의 일반형제 F 요소 (E요소의 뒤에 위치하는 모든 F요소)
- 하위(자손) 선택자 - Descendent
h1+p {
/* 바로 뒤에 위치한 한 개의 태그만 선택한다. */
background-color: yellow;
}
h1~h1 {
background-color: green;
}
.choco + .choco {
color: blue;
}
p + p {
font-style: italic;
}
- 속성 선택자
- 요소의 속성(Attribute)를 이용하여 선택하는 선택자
- [attr] : attr 속성을 가지고 있는 요소를 모두 선택한다.
- E[attr] : attr 속성을 가지고 있는 E 요소를 모두 선택
- E[attr="val"] : attr속성의 값이 "val"과 같은 E요소를 선택
- 띄어쓰기 포함하여 속성의 값이 완전 일치해야 선택이 된다.
- E[attr~="val"] : attr 속성의 값이 "val"을 완전 포함하는 E요소를 선택
- 띄어쓰기로 구분된 단어와 같은 값이면 선택이 된다.
- E[attr^="val"] : attr 속성의 값이 "val"로 시작하는 E요소 선택
- E[attr$="val"] : attr 속성의 값이 "val"로 끝나는 E요소 선택
- E[attr*="val"] : attr 속성의 값이 "val"을 부분 포함하는 E요소 선택
- E[attr|="val"] : attr 속성의 값이 "val"과 같거나 "val-"로 시작하는 E요소 선택
- 요소의 속성(Attribute)를 이용하여 선택하는 선택자
/* class 속성을 가지고 있는 div 태그 요소 */
div[class] {
border: 1px solid green;
}
/* title 속성의 값으로 "greeting"을 가지고 있는 H1 태그 요소 */
h1[title="greeting"] {
border: 1px solid blue;
}
/* title 속성의 값으로 "greeting"이라는 단어를 완전하게 포함하는 h1 태그 요소 */
h1[title~="greeting"] {
border: 1px solid red;
}
/* 클래스 이름 "abc"라는 단어를 포함하고 있는 h1 태그 */
/* ~=가 아닌 =만 존재한다면 포함하고 있으면 안되고 완전하게 일치해야한다. */
/* = 는 너무 어려우니 h1.abc 와 같은 식으로 표현하는것도 괜찮다. */
h1[class~="abc"] {
background: yellow;
}
/* */
/* 클래스의 값이 te로 시작하는 태그 검색 */
h1[class^="te"] {
font-size: 100px;
}
/* 클래스의 값이 st로 끝나는 태그 검색 */
h1[class$="st"] {
border: 1px dotted orange;
}
/* class의 값으로 "d"를 포함하는 h1 태그 요소 */
h1[class*="d"] {
background: tomato;
}
/* class의 값이 abc이거나 abc- 로 시작하는 태그 요소 검색 */
h1[class|="abc"] {
font-size: 75px;
}
- 가상 선택자
- Psuedo Selector, 의사 선택자
- HTML 문서에 실제 요소로는 존재하지 않는 대상을 선택한다. 이벤트 기반, 특정 순서기반 선택자가 있다.
- 가상 클래스 선택자 (이벤트 기반)
- :hover : onMouseOver 이벤트에 반응하여 선택
- :active : onMouseDown 이벤트에 반응한다
- :link : 'a' 태그의 방문 전 상태
- :visited : 'a' 태그의 방문 후 상태
- :enable : 활성화(enable) 상태인 요소
- :disable : 비활성화(disable) 상태인 요소, focus를 가질 수 있는 상태인지 판단해서 선택
- :checked : checked 상태인 요소(Checkbox, Radiobutton)
- :focus : onfocus 상태인 요소(포커스를 가지고 있는 요소)
- :empty : 컨텐츠가 비어있는 요소, 자식요소가 없는 대상을 선택
- 가상 클래스 선택자 (순서 기반)
- :root : 최상위 태그, html 태그를 뜻한다.
- :nth-child(n) : 앞에서부터 n번째 요소
- nth-last-child(n) : 뒤에서부터 n번째 요소
- first-child : 첫번째 요소
- last-child : 마지막 요소
- only-child : 유일한 자식(형제요소가 없을 때)
- only-of-type : 유일한 타입일 때(형제요소가 있더라도 단독 타입일 때)
- 가상 요소 선택자
- ::before : 태그 요소의 앞에 가상요소 추가
- ::after : 태그 요소의 뒤에 가상요소 추가
- ::first-line : 내용의 맨 첫번째줄에 스타일을 적용해준다.
- ::first-letter : 내용의 맨 첫번째줄의 첫번째 글자에 스타일을 적용해준다
- 가상 클래스 선택자 (이벤트 기반)
/* 예제가 너무 길어서 KHFrontend repository Selector/Selector07,08 참고하기
- 부정 선택자
- :not(s) - 조건 S를 만족하지 않는 요소 (S는 Selector를 이용하여 작성한다.)
:not(ul) {
/* UL 태그가 아닌 요소 */
}
반응형
'FrontEnd > CSS' 카테고리의 다른 글
[CSS] CSS의 크기 단위 (0) | 2020.09.29 |
---|---|
[CSS] CSS, Cascading Style Sheets (0) | 2020.09.29 |
[CSS] CSS 에서 사용하는 색상 단위 (0) | 2020.08.08 |
[CSS] CSS 레이아웃 (0) | 2020.08.08 |
[CSS] HTML에 CSS를 적용하기 (0) | 2020.08.07 |