css 선택자를 처음 보는 사람은 이 글을 먼저 보길 바란다 → CSS 선택자(selector) 종류 정리 요약


먼저 설명했던 css 선택자는 태그와 클래스, id값을 이용하여 스타일을 적용 한 것이다.

반면에 지금부터 설명할 것은 '속성 선택자'와 '가상 클래스'이다. 

먼저 설명할 것은 속성 선택자이다. 이것은 태그 안에서 사용하는 속성들의 값을 이용하여 스타일을 적용 하는 방법이다.

같은 태그여도 속성에 따라 다양한 스타일을 적용할 수 있다는 장점이 있다.


명칭 

선택자 

설명 

[속성]형식 

[속성]{속성: 속성 값;} 

지정한 속성을 가지고 있는 요소

[속성=값]형식

[속성=값]{속성: 속성 값;} 

주어진 속성과 값이 일치하는 요소 

[속성~=값]형식

[속성~=값]{속성: 속성 값;} 

속성과 값이 일치하는 요소를 찾는데 비교값이 여러개이면 하나만 일치해도 적용 

[속성^=값]형식

[속성^=값]{속성: 속성 값;} 

지정한 문자로 시작하는 속성 값에만 적용

[속성$=값]형식 

[속성$=값]{속성: 속성 값;} 

지정한 문자로 끝나는 속성 값에만 적용

[속성|=값]형식 

[속성|=값]{속성: 속성 값;} 

속성이 지정한 값으로 시작하면 적용 

[속성*=값]형식

[속성*=값]{속성: 속성 값;} 

해당 값이 포함되있으면 적용 


(속성 선택자)



이번에는 가상 클래스에 대해 설명하겠다. 가상 클래스는 웹 문서 소스에는 존재하지 않지만 필요에 의해 임의로 가상의 선택자를 지정하여 사용하는 것이다. 예를 들면 이미지 위에 마우스를 올려뒀다던가 하는 여러 상황에 쓰인다.


명칭 

선택자 

설명 

:link 선택자

a:link{속성: 속성 값;} 

문서 안의 하이퍼 링크 중 아직 방문하지 않은 링크에 적용 

:visited 선택자

a:visited{속성: 속성 값;}  

한번 이상 방문한 사이트에 적용. 기본 색상은 자주색(puple) 

:active 선택자 

a:active{속성: 속성 값;}  

해당 요소가 활성화되었을 때 적용 ex)클릭한 상태 

:hover 선택자 

a:hover{속성: 속성 값;}  

해당 요소 위에 마우스 포인터를 올려놓았을 때 적용(롤오버) 

:focus 선택자 

a:focus{속성: 속성 값;}  

해당 요소에 초점이 맞춰졌을 때 적용 ex)텍스트 필드 안에 초점이 맞춰질때 

:nth-child(n) 선택자

태그:nth-child(n) 

n번째 자식 요소에 스타일을 적용한다. n에는 숫자를 넣어도 되지만 odd,even 또는 2n+1, 2n 등 수식을 사용 할 수 있다. 

:nth-last-child(n) 선택자

태그:nth-last-child(n) 

:nth-of-type(n)

태그:nth-of-type(n) 

같은 태그가 여러개 나열 되있을때 n번째 항목인지를 지정하여 적용한다. 

:nth-last-of-type(n)

태그:nth-last-of-type(n) 

 :first-child

태그:first-child 

첫 번째 자식 요소에 적용할 스타일이다.

:last-child 

태그:last-child 

마지막 자식 요소에 적용할 스타일이다.

:first-of-type

태그:first-of-type 

형제 관계에 있는 요소 중 첫 번째 요소에 적용한다. 

:last-of-type

태그:last-of-type 

형제 관계에 있는 요소 중 마지막 요소에 적용한다.

only-child

태그:only-child 

부모 요소 안의 자식 요소가 유일하게 하나일 때 스타일 적용한다. 

only-of-child

태그:only-of-child 

해당 요소가 유일한 요소일 때 스타일을 적용한다.

:checked

태그:checked 

라디오 버튼이나 체크박스가 체크 되었을 때 적용할 스타일 지정한다. 

::before 

태그::before{content : " ";} 

특정 요소의 내용 앞이나 뒤에 지정한 내용을 만들 수 있다. 이때 content 를 꼭 넣어줘야 실행되며 :: 는 css3 : 는 css2이다. 

::.after

태그::after(content : " ";} 

::selection 선택자

::selection{속성:속성 값;} 

드래그되어 선택되는 영역의 스타일을 지정한다. 

:not 선택자

:not(태그){속성:속성 값;} 

not 안에 포함된 태그를 제외한 모든 부분에 스타일 적용 


(가상 클래스)

'Web development > HTML & CSS' 카테고리의 다른 글

반응형 웹 디자인이란?  (0) 2017.11.11
11가지 한글 구글 폰트  (0) 2017.09.30
CSS 선택자(selector) 종류 정리 요약  (0) 2017.07.26
CSS 정의 및 특징  (0) 2017.07.22
HTML5 태그 미지원 브라우저  (0) 2017.07.19


위 사진의 왼쪽은 HTML 만으로 구성된 모습이며 오른쪽은 CSS를 이용하여 디자인을 한 모습이다.


CSS Cascading Style Sheet 의 줄임말이다.


html을 이용해서 텍스트와 이미지, 표 등을 웹 문서에 넣는 것을 물고기에 비유하자면 ''에 해당한다.


그럼 CSS 는 무엇일까? CSS는 텍스트에 크기와 색상을 주고 이미지의 크기와 위치, 표의 색상, 배치 등 웹 문서에 디자인을 추가한다.


비유하자면 물고기의 ''에 해당한다.


CSS가 없다면 웹 문서는 매우 투박하고 볼품없어질 것이다.

  • 목록1
  • 목록2
  • 목록3
위의 목록은 <ul> 태그와 <li>  태그를 이용해서 만든 것이다. 이것에 css 효과를 주면

  • 목록1
  • 목록2
  • 목록3


이렇게 만들 수 있다. 세로로 나열되있던 목록을 가로로 만들고 글자에 색을 입히고 크기를 키웠으며 배경색을 주는 등 웹 문서에 여러가지 효과를 줄 수 있다. 웹 페이지의 디자인은 css로 하는 것이다. 그리도 모바일, 태블릿 등 웹 문서에 접근 가능한 다양한 기기들이 나온 지금 css의 중요성은 더욱 커져가고 있다. 사실 html을 이용해도 간단한 디자인 효과를 주는 것도 가능하긴하다.



HTML


위의 글자는 html로 글자색을 준 것이며 소스는 <font color="red">HTML</font> 이다.


이것을 css 로 한다면


CSS


이며 소스는 아래와 같다.


<style>

.cssfont{color:red;}

</style>


<p class="cssfont">CSS</p>


이렇게만 보면 html로 효과 주는 것이 더 짧은데 왜 css를 사용하냐는 의문이 생길 수 있다. 하지만 같은 효과를 여러곳에 줄때 html은 하나하나 지정해줘야하지만 css는 한번에 지정해 줄 수 있는 등 소스가 길어질 수록 css의 중요성은 커진다.


다시 말하면 웹 문서에서 내용과 디자인을 html 과 css 로 분리 할 수 있다. 이것은 웹 표준에 필요한 것이기도 하며 사이트의 수정에 도움을 줄 수 있다.


html은 그대로 두고 css만 바꿔 주면 전혀 다른 디자인을 만들 수 있다. 인쇄용 문서, 모바일용 페이지, 태블릿용 페이지, TV용 페이지 등 CSS만 바꾸면 여러 매체에 사용할 수 있게 된다.


CSS는 <style>태그 사이에 넣는다. 보통 <style>태그는 <head>태그 사이에 넣는다.


html문서 안에 css를 넣는것을 간단하게 표현하면 이렇다. (내부 스타일시트)


<html>

<head>

<style></style>

</head>

<body>

</body>

</html>


또는 css를 넣는 다른 방법도 있다(외부 스타일 시트)


<html>

<head>

<link href="외부 css 파일 경로" rel="stylesheet" type="text/css">

</head>

<body>

</body>

</html>


그리고 html과 다른점이 있다면 html에서는 주석을 넣을 때 <!-- 주석 --> 이랫다면 

css에서는 /* 주석 */ 를 사용한다.


css를 사용하면 한번에 문서에 디자인을 바꿀 수 있다.


p{

color:red;

}


위 소스를 사용하면 <p> 태그안의 모든 글자 색상은 red가 된다. 여기서 p 부분을 선택자(select)라고 한다.


선택자에 { 와 } 사이에 들어간 속성들을 주는 것이다. 


간단하게 css에 대해 알아봤다. css는 웹 문서에 없어서는 안되는 필수 요소이다. html을 배운다면 css도 꼭 알아두도록 하자.

+ Recent posts