CSS 기본 문법

SONA·2021년 12월 7일
0

HTML & CSS

목록 보기
8/9

내부 스타일시트

* CSS를 HTML 문서 안에 <style> 태그로 기재하여 HTML 문서 안에 CSS가 함께 저장되도록 하는 형태
* 스타일이 기술된 페이지에만 적용

외부 스타일시트

* 스타일 속성들을 따로 저장하여 HTML 문서에 파일명으로 연결할 수 있음(.css 확장자를 가진 파일)
* HTML에서는 <link> 태그를 사용하여 .css 확장자 파일을 연결
* 외부 스타일시트는 그 스타일을 선언한 모든 HTML 페이지에 적용

@import

* CSS 안으로 다른 CSS 파일을 불러들일 경우 사용
* CSS의 맨 윗줄에 기술

인라인 스타일(inline style)

* 태그에 직접 CSS를 정의해주는 기법으로, 해당 요소에 style="~"로 기술
* 내부스타일이나 외부스타일에서 기술된 속성보다 우선 적용됨

선택자(selector)

type 선택자

* html 문서의 태그 이름을 선택자로 사용할 수 있음
 ex) p { color: blue; }

id 선택자

* CSS에서는 id 선택자 앞에 '#'을 붙여야 함
* id명이나 class명은 숫자로 시작할 수 없으며, 주로 영문자로 시작(Naming Rule:명명규칙)

class 선택자

* CSS에서는 class 선택자 앞에 '.'을 붙여야 함

전체 선택자

* 페이지의 모든 요소를 가리키는 선택자로서 '*'로 표시
* id나 class명이 부여된것과 상관없이 페이지 내의 모든 요소에 속성 부여

하위 선택자

* 요소 내부에 있는 모든 해당 요소를 가리키녀, 선택자 사이를 공백으로 분리
 ex) .abox p { color: blue; }
     : abox 클래스 내부에 있는 모든 p 태그들의 문자를 파란색으로 표시하도록 부여

자식 선택자

* 요소 내부에 있는 해당 요소를 가리키지만, 하위 요소의 하위 요소는 가리키지 않으며 선택자 사이를 '>'로 분리
 ex) .abox > p { color: blue; }
     : abox 클래스 내부에 있는 요소들 중 또 다른 하위 요소 안에 있는 p 태그들을 제외한 나머지 p 태그들의 문자를 파란색으로 표시하도록 부여

인접 선택자

* 현재 요소의 바로 뒤에 나오는 요소만을 가리키는 선택자로, 선택자 사이를 '+'로 분리함
 ex) h1 + p { color: blue; }
     : 전체 p 요소 중 h1 요소의 바로 다음에 나오는 p 태그들의 문자만을 파란색으로 부여

형제 선택자

* 현재 요소와 같은 계층에 있는 요소만을 선택할 수 있으며 '~'로 구분
 ex) h1 ~ p { color: blue; }
     : h1과 같은 계층에 있는 p 태그들만 파란색으로 나타나도록 부여

그룹 선택자

* 여러 선택자들을 ','로 구분하여 함께 묶어 속성을 부여
 ex) td,th {}

속성 선택자

* html 요소의 속성 유무 또는 속성값을 [] 안에 넣어 선택자로 사용할 수 있음
속성 값설명
h1[class]class명을 가진 h1 요소
img[alt]alt 속성을 가진 img 요소
p[class="abc"]class명이 유일하게 'abc'인 p 요소
p[class~="abc"]class명이 유일하게 'abc'이거나 여러 개의 class명 중 하나가 'abc'인 p 요소
p[class="abc"]
p[class^="abc"]class명이 철자 'abc'로 시작하는 p 요소
p[class$="abc"]class명이 철자 'abc'로 끝나는 p 요소
p[class*="abc"]class명에 철자 'abc'가 포함되어 있는 p 요소
a[href^="mailto"]href 속성값이 'mailto'로 시작하는 a 요소

가상클래스 선택자

* 링크가 걸린 문자에 스타일을 부여
* 아래의 가상클래스를 2개 이상 사용할 경우 아래의 순서대로 기술해야 함
속성 값설명
a:link링크가 걸린 문자에 속성을 부여하는 선택자
a:visited링크를 클릭하여 해당 페이지에 갔다가 돌아온 경우의 속성을 부여하는 선택자
a:hover링크가 걸린 문자에 마우스가 닿았을 경우 속성을 부여하는 선택자
a:active링크 걸린 글자가 활성화되었을 경우 속성을 부여하는 선택자(클릭했다가 돌아왔거나 클릭하려다 만 경우)
a:focus링크 걸린 글자에 포커스가 생길 경우의 속성을 부여하는 선택자(키보드의 tab 키 등으로 포커스가 나타날 경우 / 마우스를 가져가면 색이 바뀌는 경우)

가상요소 선택자

* 요소에 id명이나 class명을 부여하지 않고도 위치를 찾아서 선택할 수 있는 선택자
속성 값설명
:first-letter요소의 첫 글자
:first-line요소의 첫 줄
:first-child같은 요소 중 첫 번째 요소
:last-child같은 요소 중 마지막 요소
:nth-child(n)같은 요소 중 n번째 요소
:before요소 안 맨 앞에 배치될 요소 (마크업에는 없는 가상 요소)
:after요소 안 맨 뒤에 배치될 요소 (마크업에는 없는 가상 요소)

종속 선택자

* type 선택자와 id 선택자, class 선택자가 결합된 형태
* type와 class를 합치면 11이 됨
* 최우선으로 CSS를 적용해야 할 경우에는 선택자에 속성을 부여하는 마지막에 "!important" 부여
* type < class,가상 < id < inline style < important

선택자의 우선순위

선택자설명
전체 선택자(*)0
type 선택자 (p, h1, ul, ...)1
가상 선택자 (:first-child, ...)10
class 선택자 (.abc, ...)10
id 선택자 (#abc, ...)100
선택자우선순위 계산
type1
class10
type + class1 + 10 = 11
id100 + 1 = 101
id + type100 + 10 = 110
id + type + class100 + 11 = 111

문자 관련 스타일

font-size

속성 값설명
px해상도에 따라 상대적으로 달라지는 기본 단위
%부모 요소의 글자 크기를 100% 기분으로 계산/특별한 설정이 없으면 16px이 100%가 됨
em부모 요소의 글자 크기를 100% 기준으로 계산한 1/100 단위/특별한 설정이 없으면 16px이 1em이 됨
remem과 비슷하지만 부모 요소가 아닌 최상위 요소의 크기를 100% 기준으로 계산
vw, vh1/100 단위

px : font-size: 12px;
% : font-size: 150%;
em : font-size: 1.5em;
rem : font-size: 1.5rem;

0개의 댓글