week 4
4주차
06 CSS의 기본
06-1 웹 문서에 디자인 입히기
왜 스타일을 사용할까?
스타일이란 HTML 문서에서 자주 사용하는 글꼴이나 색상, 정렬, 각 요소의 배치 방법과 같이 문서의 겉모습을 결정짓는 것을 가리킴.
웹 문서의 내용과 상관없이 디자인만 바꿀 수 있음
다양한 기기에 맞게 탄력적으로 바뀌는 문서를 만들 수 있음
06-2 스타일과 스타일 시트
스타일 형식 알아보기
기본형 선택자 { 속성1: 속성값1; 속성2: 속성값2; }
선택자 : 스타일을 어느 태그에 적용할 것인지
중괄호({}) 사이 : 스타일 정보
스타일 규칙 : 속성과 값이 하나의 쌍으로 이루어짐. 세미콜론(;)으로 구분
스타일 규칙을 작성하는 방법
CSS 여러 줄로 표기하기
p {
text-align: center;
color: blue;
}
CSS 한 줄로 표기하기
p { text-align: center; color: blue; }
스타일의 주석을 표기하는 방법
/* 여러 줄짜리 주석을
쓸 때는 이렇게
작성합니다 */
/* 한 줄짜리는 이렇게 */
스타일 시트 알아보기
스타일 시트? 웹 문서 안의 여러 스타일 규칙을 한눈에 확인하고 필요할 때마다 수정하기 쉽도록 한 군데에 묶어 놓은 것
브라우저 기본 스타일 : 웹 브라우저에 기본으로 만들어져 있음 ex)
<h1>
태그는 크게 표시되고,<p>
는 제목보다 작게 표시되는 등사용자 스타일 : 사이트 제작자가 만듦
인라인 스타일 : 스타일 시트를 사용하지 않고 스타일을 적용할 대상에 직접 표시 해당 태그에 style 속성을 사용해
style="속성: 속성값;"
형태로 스타일 변경내부 스타일 시트 : 웹 문서 안에서 사용할 스타일을 같은 문서 안에 정리한 것
<head>
태그 안에서 정의하고<style>
,</style>
태그 사이에 작성외부 스타일 시트 : 여러 웹 문서에 사용할 스타일을 별도 파일(
*.css
)에 저장해 놓고 필요할 때마다 가져와서 사용 외부 스타일 시트를 연결할 때 기본형<link rel="stylesheet" href="외부 스타일 시트 파일 경로">
06-3 CSS 기본 선택자 알아보기
전체 요소에 스타일을 적용하는 전체 선택자
전체 선택자(universal selector) : 스타일을 문서의 모든 요소에 적용할 때 사용
다음과 같이 *(별표)를 사용 기본형
* { 속성: 값; ..... }
웹 브라우저의 기본 스타일을 초기화할 때 자주 사용
태그와 요소 태그는 말 그대로 태그 자체를 가리키는 반면, 요소는 태그를 적용한 것을 가리킴
<p>텍스트 단락 지정하기</p>
이 소스에서
<p>
</p>
태그는 태그 자체를 말하는 것이고 태그를 포함해<p>
태그를 적용한 '텍스트 단락 지정하기' 부분을 p 요소라고 함.
특정 요소에 스타일을 적용하는 타입 선택자
타입 선택자(type selector) : 특정 태그를 사용한 모든 요소에 스타일 적용
기본형 태그명 { 스타일 규칙 }
타입 선택자와 태그 선택자의 차이점 타입 선택자는 태그 이름을 선택자로 사용하므로 태그 선택자(tag selector)라고도 하고, 스타일을 적용하는 대상이 요소(element)이므로 요소 선택자(element selector)라고도 함
특정 부분에 스타일 적용하는 클래스 선택자
클래스 선택자(class selector) : 같은 태그라도 일부는 다른 스타일을 사용하고 싶을 때
클래스 이름(임의로 지정)을 사용해서 다른 선택자와 구별, 클래스 이름 앞에 마침표(.) 기본형
.클래스명 { 스타일 규칙 }
클래스 선택자를 사용해 만든 스타일을 클래스 스타일이라고 함
태그 안에
class="클래스명"
처럼 class 속성을 사용해서 지정요소 하나에 클래스 스타일을 2개 이상 적용할 수도 있음, 공백으로 구분
특정 부분에 스타일을 한 번만 적용할 수 있는 id 선택자
id 선택자(id selcetor) : 웹 문서의 특정 부분을 선택해서 스타일 지정
마침표(.) 대신 # 기호 사용 기본형
#아이디명 { 스타일 규칙 }
웹 요소에 적용할 때는
id="아이디명"
클래스 선택자는 문서에 여러 번 적용, id 선택자는 문서에 한 번만 적용
같은 스타일 규칙을 사용하는 요소들을 묶어주는 그룹 선택자
여러 선택자에서 같은 스타일 규칙을 사용하는 경우 쉼표(,)로 구분해 여러 선택자를 나열한 후 스타일 규칙을 한 번만 정의
기본형 선택자1, 선택자2 { 스타일 규칙 }
06-4 캐스케이딩 스타일 시트 알아보기
캐스케이딩의 의미
CSS에서 'C'는 캐스케이딩(cascading)의 줄임말이며 스타일 시트에서는 우선순위가 위에서 아래(계단식)로 적용된다는 의미로 사용 -> CSS에서는 웹 요소에 둘 이상의 스타일을 적용할 때 우선순위에 따라 적용할 스타일을 결정 스타일이 충돌하지 않게 하는 방법
스타일 우선순위 : 스타일 규칙의 중요도와 적용 범위에 따라 우선순위가 결정되고, 그 우선순위에 따라 위에서 아래로 스타일 적용
스타일 상속 : 태그의 포함 관계에 따라 부모 요소의 스타일을 자식 요소로, 위에서 아래로 전달
스타일 우선순위
우선순위란 어떤 스타일을 먼저 적용할 것인지 결정하는 규칙.
얼마나 중요한가?
사용자 스타일 : 컴퓨터 사용자가 설정한 내용
제작자 스타일
브라우저 기본 스타일
적용 범위는 어디까지인가?
!important : 어떤 스타일보다 우선 적용
인라인 스타일 : 태그 안에 style 속성을 사용한 경우
id 스타일 : 지정한 부분에만 적용 (한 문서에 한 번만 적용)
클래스 스타일 : 지정한 부분에만 적용 (한 문서에 여러 번 적용)
타입 스타일 : 특정 태그에 스타일을 동일하게 적용
소스 코드의 작성 순서는 어떠한가?
중요도와 범위가 같다면 스타일을 정의한 소스 순서로 우선순위 적용
나중에 작성한 스타일이 먼저 작성한 스타일을 덮어씀!
스타일 상속
스타일 시트에서는 자식 요소에서 별도로 스타일을 지정하지 않으면 부모 요소의 스타일 속성들이 자식 요소로 전달됨
07 텍스트를 표현하는 다양한 스타일
07-1 글꼴 관련 스타일
글꼴을 지정하는 font-family 속성
기본형 font-family:<글꼴 이름> | [<글꼴 이름>, <글꼴 이름>]
웹 문서의 텍스트는 사용자 시스템의 글꼴을 이용해 브라우저에 표시
사용자 시스템에 설치되어 있지 않는 경우를 고려하여 두 번째, 세 번째 글꼴까지 생각해야 함
"맑은 고딕"처럼 두 단어 이상으로 된 한 글꼴 이름은 한 덩어리라는 것을 알 수 있도록 큰따옴표로 묶음
글자 크기를 지정하는 font-size 속성
기본형 font-size: <절대 크기> | <상대 크기> | <크기> | <백분율>
px(픽셀), pt(포인트) 등으로 지정할 수 있고 백분율 사용 가능
절대 크기 : 브라우저에서 지정한 크기
상대 크기 : 부모 요소의 글자 크기를 기준으로 상대적인 크기 지정
크기 : 브라우저와 상관없이 글자 크기 직접 지정
백분율 : 부모 요소의 글자 크기를 기준으로 백분율(%)로 표시
키워드를 사용하여 글자 크기 지정하기 미리 약속해 놓은 키워드 중 하나를 사용할 수 있음 xx-small < x-small < small < medium < large < x-large < xx-large
단위를 사용하여 글자 크기 지정하기 음숫값은 사용할 수 없음. 1em은 16px, 12pt와 같음
em : 부모 요소에서 지정한 글꼴의 대문자 M의 너비를 기준(1em)으로 비율값 지정
rem : 문서 시작 부분(root)에서 지정한 크기를 기준(1em)으로 비율값 지정
ex : 해당 글꼴의 소문자 x의 높이르 기준(1ex)으로 비율값 지정
px : 모니터의 1픽셀을 기준으로 비율값 지정
pt : 포인터, 일반 문서에서 많이 사용
백분율을 사용하여 글자 크기 지정하기 부모 요소의 글자 크기를 기준으로 계산 부모 요소의 글꼴이
font-size: 16px
처럼 단위로 표현되어 있어야 함
이탤릭체로 글자를 표시하는 font-style 속성
기본형 font-style: normal | italic | oblique
italic은 기울어진 글꼴이 처음부터 디자인되어 있는 반면
oblique는 원래 글꼴을 단지 기울어지게 표시
글자 굵기를 지정하는 font-weight 속성
기본형 font-weight: normal | bold | bolder | lighter | 100 | 200 | _ | 800 | 900
미리 만들어진 예약어나 숫자값을 사용해 굵기를 지정할 수 있음
100~900 사이에서 400은 normal, 700은 bold에 해당
07-2 웹 폰트 사용하기
웹 폰트란
웹 폰트를 사용하려면 웹 문서를 작성할 때 글꼴 정보를 함께 저장
즉, 웹 문서를 서버에 올릴 때 웹 폰트 파일도 함께 업로드
웹 폰트 업로드하고 사용하기
컴퓨터에서 사용하는 글꼴은 트루타입(TrueType), *.ttf : 파일 크기가 커서 웹에서 사용하기 적절하지 않음
웹에 적합한 여러 글꼴 : EOT(embedded open type), WOFF(web open font format), WOFF2
웹 폰트 정의
@font-face { font-family: <글꼴 이름>; src: <글꼴 파일>[<글꼴 파일>, <글꼴 파일>, .....]; }
font-family
속성을 사용해 글꼴 이름 지정src
속성에서 사용할 글꼴 파일의 경로 지정 경로 지정 전local()
문을 사용해 사용자 시스템에 해당 글꼴이 있는지 먼저 확인
07-3 텍스트 관련 스타일
글자색을 지정하는 color 속성
기본형 color: <색상>
16진수로 표현하는 방법 6자리의 16진수, #RRGGBB로 표시
hsl과 hsla로 표현하는 방법
hsl(a) : hue(색상), saturation(채도), lightness(명도) + alpha(불투명도)
ex) 빨간색 : hsl(0, 100%, 50%);
색상을 영문명으로 표현하는 방법 red, yellow, black 처럼 잘 알려진 색상 이름 그대로 사용
rgb와 rgba로 표현하는 방법
앞에서붙터 차례대로 빨간색(Red), 초록색(Green), 파란색(Blue)
하나도 섞이지 않았을 때는 0으로 표시, 가득 섞였을 때는 255로 표시
ex) 파란색 : rgb(0, 0, 255);
텍스트를 정렬하는 text-align 속성
문단의 텍스트 정렬 방법을 지정
기본형 text-align: start | end | left | right | center | justify | match-parent
현재 줄의 시작 위치에 맞추어 - 끝 위치에 맞추어 - 왼쪽 정렬 - 오른쪽 정렬 - 가운데 정렬 - 양쪽 정렬 - 부모 요소를 따라 문단 정렬
정렬 방법을 지정하지 않을 경우 왼쪽 정렬이 기본
줄 간격을 조절하는 line-height 속성
한 문단이 두 줄을 넘었을 때 생기는 줄 간격을 조절하는 속성 정확한 단위로 값을 지정하거나 문단의 글자 크기를 기준으로 백분율로 지정할 수 있음
텍스트의 줄을 표시하거나 없애 주는 text-decoration 속성
텍스트에 밑줄을 긋거나 취소선을 표시
하이퍼링크 적용 시의 기본 밑줄 삭제 가능
none
: none
underline
: underline
overline
: overline
line-through
: line-through
텍스트에 그림자 효과를 추가하는 text-shadow 속성
기본형 text-shadow: none | <가로 거리> <세로 거리> <번짐 정도> <색상>
가로 거리와 세로 거리만 지정하면 나머지 값은 기본값을 사용
텍스트의 대소 문자를 변환하는 text-transform 속성
capitalize : 첫 번째 글자를 대문자로
uppercase : 모든 글자를 대문자로
lowercase : 모든 글자를 소문자로
full-width : 가능한 한 모든 문자를 전각 문자로 전각 문자란, 가로 세로 길이 비율이 같은 글자
글자 간격을 조절하는 letter-spacing, word-spacing 속성
글자와 글자 사이 간격 조절 / 단어와 단어 사이 간격 조절 주로 letter-spacing 속성을 사용해 자간 조절 px, em과 같은 단위나 퍼센트(%)로 크기 조절
07-4 목록 스타일
불릿 모양과 번호 스타일을 지정하는 list-style-type 속성
불릿 대신 이미지를 사용하는 list-style-image 속성
기본형 list-style-image: <url(이미지 파일 경로)> | none
목록을 들여 쓰는 list-style-position 속성
기본형 list-style-postion: inside | outside
기본값은 outside. inside 설정 시 들여쓰기됨
목록 속성을 한꺼번에 표시하는 list-style 속성
list-style-type, list-style-image, list-style-postion 속성을 한꺼번에 표시
07-5 표 스타일
표 제목의 위치를 정해 주는 caption-side 속성
기본형 caption-side: top | bottom
표에 테두리를 그려 주는 border 속성
표 바깥 테두리와 셀 테두리를 각각 지정할 수 있음
셀 사이의 여백을 지정하는 border-spacing 속성
기본형 border-spacing: 수평거리 수직거리
공백으로 구별해서 나타내는데, 두 값이 같다면 1개만 지정해도 됨
표와 셀 테두리를 합쳐 주는 border-collapse 속성
border 속성 사용 시 셀과 셀 사이에 여백이 생기며 두 줄로 표시됨
두 줄로 그대로 둘 것인지, 합쳐서 하나로 표시할 것인지 결정하는 속성
<table>
태그에 적용되는 스타일에만 지정
collapse : 표와 셀의 테두리를 합쳐 하나로 표시
separate : 기본값. 따로 표시
Last updated