CSS (Cascading Style Sheet) Cascading : 폭포같은, 계속되는, 연속적인

상속

h1 { /* type selector */
color: red;
}
<h1>
	<span>Inheritance</span>
</h1>

 

캐스케이드

h1 {/*미적용*/
	color:red;
}

h1 {/*적용*/
	color:blue;
}

 

선택자

 

  1. ID Selector : [#content, #footer] 구체성(0, 1, 0, 0)
  2. Class Selector : [.aside, .section] 구체성(0, 0, 1, 0)
  3. Type Selector : [h1, div, span, em] 구체성(0, 0, 0, 1)

 

구체성, 명시성, 세분화

<h2>헤딩 요소
	<span>명시성 테스트 (0,0,0,2)</span>
</h2>

<h4 class="c_type">클래스 구체성은
	<span class="c_type2">0,0,2,2 입니다.</span>
</h4>
h2 {
	color: red; /* 0,0,0,1 */
}

h2 span {
	color: green; /* 0,0,0,2 */
}

h4.c_type {
	/* 0,0,1,1 */ color: gray;
}

h4.c_type span.c_type2 {
	/* 0,0,2,2 */ color: pink;
}

#content {
	color: black;
}

div ul ul li {
	/* 요소 설명자 0,0,0,4 */
}

div.aside ul li {
	/* 클래스 1개와 요소가 3개이므로 0,0,1,3 */
}

a:hover {
	/* 가상 클래스 1개와 요소 1개 0,0,1,2 */
}

div.nav a:hover {
	/* 가상 클래스1개와 클래스 1개 그리고 요소가 2개 0,0,2,2 */
}

#content em {
	/* 아이디 선택자 1개와 요소 선택자 1이므로 0,1,0,1 */
}

div#content em {
	/* 아이디 선택자가 1개와 요소가 2개 0,1,0,2 */ 
}

※ 명시도에서 제일 앞 0은 인라인 스타일

 

무조건

<div id="demo">
	<p id="demo-child" style="color:tan">Lorem ipsum dolor sit.</p>
</div>

 

div#demo p#demo-child {
	color: red /*!important*/; /* 0,2,0,2 */ 
}

div p {
	color: green !important; /* 1,0,0,2 */
}

 

가상 클래스, 가상 요소

CSS 2.1 지원 가상 클래스

  • :link - 방문하지 않았던 링크
  • :visited - 방문했던 링크
  • :hover - 포커스를 받은 요소
  • :active - 활성화된 요소(링크를 클릭하고 있는 순간의 바로 그 링크)
  • :first-child 선택한 요소 중에 첫번째 자식인 요소

 

CSS 2.1 지원 가상 요소

 

  • ::first-letter
  • ::before
  • ::after

 

CSS 스타일 선언 3가지 방식

외부(External) 스타일, 내부(Internal) 스타일, 인라인(Inline) 스타일

외부(External) 스타일

- 가장 권장되고 일반적인 방법으로 CSS 파일을 별도로 관리하는 형태.

<head>
	<link rel="stylesheet" type="text/css" href="style.css"/>
</head>


내부(Internal) 스타일

- 내부스타일로 단발성 페이지의 CSS 분량이 적은 경우에 사용

<head>
	<style type=“text/css”>
		#demo { border:1px solid red; }
	</style>
</head>

인라인(Inline) 스타일

- 속성값이 동적으로 변경되어야 하는 경우에 사용

<div style=“display:block”>블라블라..</div>

 

+ Recent posts