CSS (스타일 시트)
- Cascading Style Sheets: 계단형 스타일 시트
- 단계적으로 스타일 적용
- 여러 스타일이 겹치면 맨 마지막 스타일 적용
- HTML의 레이아웃 배치 등의 한계를 보완하기 위해 개발된 독립 언어
- 일정 기능들을 미리 지정하여 여러 부분에서 동일하게 적용
CSS에서 가능한 작업
- HTML 문서 내의 글꼴, 크기, 색상, 배경, 테두리, 레이아웃 배치, 여백 등 지정
- 정렬 방식, 그림자, 동적인 기능 등 다양한 효과
CSS의 장점
- 자유롭게 웹 문서 편집 가능
- 원하는 형태로 HTML 문서 내의 글꼴, 크기, 색상, 배경, 테두리, 레이아웃 배치, 여백 등 자유롭게 편집
- 통일감 있는 문서 작성
- 편리한 문서 관리
- 외부 스타일 시트 파일을 사용해서
- 여러 웹 문서에 동일한 스타일 시트 적용 가능
- 한 번만 한 곳에서 수정하여 모든 웹 문서의 스타일을 동시에 변경 가능
스타일 시트 적용 방법
- 문서 내부에 정의 (Embeded Style)
- 외부 문서에서 연결 (Linked Style)
- 태그에 직접 정의 (Inline Style)
1. 문서 내부에 정의 (Embeded Style)
- <head> 태그에 삽입
- 문서 전체에 특정 효과 주기 위해 사용
<head>
<style type="text/css">
태그명 {속성(property):값(value);}
</style>
</head>
<head>
<style type="text/css">
body {font-size:10px;}
</style>
</head>
2. 외부 문서에서 연결 (Linked Style)
- 별도의 스타일 시트 문서(파일) 만들어 놓고 필요한 HTML 문서에 연결하여 사용
- 웹 사이트의 모든 문서에 동일한 효과를 적용하여 웹 사이트에 통일감을 주고 편리하게 사용 가능
<head>
<link rel="stylesheet" type="text/css" href="파일명">
</head>
<head>
<link rel="stylesheet" type="text/css" href="myStyle.css">
</head>
3. 태그에 직접 정의 (Inline Style)
<태그명 style="속성(property):값(value);">
<body style="font-size:10px; color:blue;">
<button onCkick="green()" style="width:120; height:30;">
버튼
</button>
</body>
CSS의 기본 형식
- 선택자(selector)
- 스타일을 적용할 대상
- HTML 문서의 태그, 아이디, 클래스, 속성
- {속성명: 값;}
- 사용 예
- 모든 <h1> 태그에 스타일 적용
h1 { color:red; }
선택자 유형
- 태그 선택자
- 아이디 선택자
- 클래스 선택자
- 속성 선택자
- 상태 선택자
태그 선택자
- 태그명 사용
요소 (element) 선택자
라고도 함
- HTML 문서에 있는 모든 같은 태그에 동일하게 적용
태그명 {속성명:값;}
h3 {
background-color: #000;
color: #fff;
width:50%;
margin-left:20px;
}
tagSelector.html
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>태그 선택자</title>
<style type="text/css">
/* CSS 주석 */
/* 태그 선택자 : <h3> 태그에 스타일 적용 */
h3 {
background-color: #000;
color: #fff;
width: 50%; /* 가로 길이 */
margin-left: 20px; /* 왼쪽 여백 */
}
li {
color: green;
}
</style>
</head>
<body>
<h1>태그 선택자 사용하기</h1>
<hr>
<h2>두부감자조림</h2>
<h3>재료</h3>
<ul>
<li>감자 1개</li>
<li>두부 1/2모</li>
<li>꽈리고추 10개</li>
<li>홍고추 1개</li>
</ul>
<h3>조리법</h3>
<ol>
<li>감자는 껍질을 벗기고 돌려가면서 어슷하게 썰어 찬물에 담가놓고 두부는 도톰하게 한입크기로 썰며 꽈리고추, 홍고추는 어슷썬다.</li>
<li>첫번째 썰은 재료에 두부를 팬에 기름을 두르고 노릇노릇하게 앞뒤로 지져 기름은 뺀다.</li>
<li>냄비에 감자와 홍고추를 담고 조림장을 반분량만 넣는다.</li>
<li>3번째를 끓이다가 감자가 반정도 익으면, 두부와 남은 양념장을 넣는다.</li>
<li>윤기나게 졸여지면 꽈리고추를 마지막에 넣어 다시한번 살짝 졸여 조린다.</li>
</ol>
</body>
</html>
아이디 선택자
#
사용
- 문서에서 특정 부분에만 필요한 스타일 적용할 때 사용
- 필요한 부분에 유일한 아이디를 지정하고 CSS 적용
식별 선택자
라고도 함
- 사용법
#idName {속성명:값;}
- 태그에 반드시 id로 지정 되어 있어야 함
<style type="text/css">
div {width:100px; height: 30px;}
#box1 {background:yellow;}
#box2 {background:blue;}
</style>
클래스 선택자
.
사용 (도트 선택자)
- 문서에서 특정 그룹에 필요한 스타일 적용할 때 사용
.className {속성명:값;}
- HTML 태그의 class 속성이 지정되어 있어야 함
<태그명 class="className"></태그명>
<style type="text/css">
.cookTitle1 {
background-color: #f03;
color: #fff;
padding: 5px;
border: 1px solid #000;
margin-left:20px;
}
</style>
classSelector.html
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>클래스 선택자 사용하기</title>
<style type="text/css">
.cookTitle1 {
background-color: #f03;
color: #fff;
padding: 5px;
border: 1px solid #000;
margin-left:20px;
}
.cookTitle2 {
background-color:#ffcc33;
padding: 5px;
border: 1px solid #f00;
margin-left:20px;
}
.redDotLine {
color: #f00;
font-weight:bold;
border-bottom: 1px dashed #f00;
}
</style>
</head>
<body>
<h1>클래스 선택자 사용하기</h1>
<hr>
<h2>닭칼국수</h2>
<h3 class="cookTitle1">재료-4인분 기준</h3>
<ul>
<li>밀가루 3컵</li>
<li>닭 1/2마리 </li>
<li>호박 1/2개 </li>
<li>부추 50g</li>
<li>생강,소금, 후추, 참기름</li>
</ul>
<h3 class="cookTitle2">조리법</h3>
<ol>
<li> <span class="redDotLine">밀가루</span>에 <span class="redDotLine">소금과 달걀</span>을 넣고 반죽하여 밀대로 밀어 0.5cm 두께로 썬다.쟁반에 펼쳐 굳지 않게 가제로 덮어놓는다 </li>
<li>첫번째 썰은 재료에 두부를 팬에 기름을 두르고 노릇노릇하게 앞뒤로 지져 기름은 뺀다. </li>
<li>닭은 내장과 필요없는 지방을 제거하고 깨끗이 씻는다.생강을 저며 넣고 찬물을 부어 푹 삶아 닭고기는 살을 곱게 찢어 소금, 후추, 참기름에 양념하여 무쳐 놓고 국물은 가제로 걸러 육수로 사용한다. </li>
<li>호박은 채 썰고 부추도 다듬어 씻어 4cm 길이로 썰고, 홍고추, 파, 마늘은 곱게 다진다.간장, 깨소금, 참기름을 섞어 양념장을 만든다. </li>
<li>닭국물이 끓으면 썰어 놓은 칼국수를 넣어 서로 붙지 않게 한소끔 끓인 다음 호박과 부추, <span class="redDotLine">양념한 닭고기</span>를 넣고 다시 한소끔 끓여서 양념장과 김치를 곁들여 먹는다.</li>
</ol>
</body>
</html>
속성 선택자
- HTML 태그의 속성 값에 따라 선택자로 정의
<a title="산업기사">산업기사</a>
태그명[속성명="값"]
태그명[속성명^=”값”]
태그명[속성명$=”값”]
태그명[속성명*=”값”]
attrSelector.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>속성 선택자</title>
<style type="text/css">
/* 속성 선택자 : <a> 태그의 href 속성에 스타일 적용 */
a[href="http://www.naver.com"] {
color:green;
}
/* 속성 선택자: <a> 태그의 href 속성 값 중에서 '#'으로 시작하는 속성값에 스타일 적용 */
a[href^="#"] {
background-color:gold;
}
</style>
</head>
<body>
<h3>사이트로 이동</h3>
<a href="http://www.naver.com"> 네이버 사이트로 이동</a>
<hr>
<h3>다른 문서로 이동</h3>
<a href="HelloWorld.html">Hello 페이지로 이동</a>
<a href="join.html"> 회원 가입</a>
<hr>
<h3>문서 내 다른 영역으로 이동</h3>
<a href="#JavaScript">id가 JavaScript인 영역으로 이동</a><br>
<a href="#jQuery">id가 jQuery인 영역으로 이동</a><br>
<a href="#css">id가 css인 영역으로 이동</a><br>
<hr>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<h3 id="JavaScript">자바스크립트</h3>
<p>웹 페이지를 향상시키고 동적인 화면을 구현하기 위해 사용되는 스크립트 언어</p>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<h3 id="jQuery">jQuery</h3>
<p>자바스크립트 작업을 쉽고 빠르게 처리할 수 있도록 도와주는 자바스크립트 라이브러리</p>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<h3 id="css">css</h3>
<p>Cascading Style Sheet : 속성을 이용해 웹 디자인 요소를 제어하는 기능 제공</p>
</body>
</html>
상태 선택자
- 태그의 상태로 선택해서 스타일 적용
- 상태: 체크된 상태, 포커스 받은 상태, 사용 가능 또는 불가능한 상태
- 선택자: checked - 체크된 input 태그 선택
- 선택자: focus - 포커스를 받은 input 태그 선택
- 선택자: enabled - 사용 가능한 input 태그 선택
- 선택자: disabled - 사용 불가능한 input 태그 선택
stateSelector.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>상태 선택자</title>
<style type="text/css">
/* input 채그가 사용 가능한 경우에 입력란 색상 지정 */
input:enabled {background-color:white;}
/* input 채그가 사용 불가능한 경우에 입력란 색상 지정 */
input:disabled {background-color:skyblue;}
/* input 태그에 초점이 맞춰진 경우에 입력란 색상 지정 */
input:focus {background-color: orange;}
</style>
</head>
<body>
<h2>사용 가능</h2>
비밀번호: <input type="password" size="10">
<h2>사용 불가능</h2>
아이디: <input type="text" size="10" value="abcd" disabled>
</body>
</html>