본문 바로가기
Language/CSS

CSS 스타일 기본기

by Krystal K 2022. 4. 12.

<Today's Goals>

  • 스타일에 대한 기본적인 이해
  • 스타일 우선순위
  • 스타일 상속
  • 스타일을 사용하는 이유
  • 스타일 표기법
  • 스타일 시트

<What i learned>

  • 태그(tag)와 요소(element)의 차이 : 태그는 태그 자체만을 지칭하며, 요소는 태그가 적용된 것을 가리킨다. 따라서 스타일을 적용하는 것은 태그가 아닌 요소이다. '요소에 적용되는 스타일'이 알맞은 표현이다.
  • 브라우저 접두사 : 브라우저별로 속성들이 다른 방식으로 지원되기 때문에 속성 이름 앞에 접두사(prefix)를 붙여 브라우저별로 구분한다.

-webkit- 웹키트 방식 브라우저용 (사파리, 크롬)

-moz- 게코 방식 브라우저용(모질라, 파이어폭스)

-o- 오페라 브라우저

-ms- 마이크로소프트 인터넷 익스플로러

<Questions>

  • Q : 웹키트 방식과 게코 방식?

A : 참고 사이트 바로가기


<스타일 기본기>

CSS의 C. 캐스캐이딩(Cascading)의 의미

선택자에 적용된 많은 스타일 중에 어떤 스타일을 나타낼지 결정함을 뜻한다.

 

스타일 우선순위 : 스타일 규칙의 중요도, 적용 범위에 따라 우선순위가 결정되고 그에 따라 스타일이 적용된다.

  • 중요도(Importance)
  1. 사용자 스타일 시트 : 가장 최우선시 된다. 사용자 스타일 시트란 저시력자나 색약자 등과 같이 특별한 조건이 필요한 사용자가 그들에게 맞게 구성해 놓은 스타일 시트를 말하며, 이 스타일 시트는 시스템을 통해 만들어진 것이기 때문에 제작자가 제어할 수 없다. 제작자가 만든 스타일 시트의 중요 스타일보다 우선시 된다. 
  2. 중요 스타일 : !important 다른 어느 스타일보다 최우선으로 적용해야 할 스타일은 그 뒤에 !important를 붙인다. 제작자가 만든 일반 스타일 시트보다 우선한다.
  3. 기본적인 브라우저 스타일 : 브라우저들마다 기본적으로 지정하고 있는 스타일.
  • 명시도(Specificity)
  1. 인라인 스타일 : 태그 안에 style 속성을 사용해 해당 태그에만 스타일을 적용. (가장 우선순위)
  2. id 스타일 : 한 문서 안에서 한 번만 적용할 수 있다. #idname
  3. class 스타일 : 한 문서 안에서 여러번 적용할 수 있다. .(마침표)classname
  4. tag 스타일 : 특정 태그에 똑같이 적용되는 스타일.
  • 소스의 순서(Source Order) : 중요도와 명시도가 같다면 소스의 순서로 우선순위가 정해진다. 나중에 온 소스가 먼저 온 스타일을 덮어쓴다.

 

스타일 상속 : 태그들의 포함 관계에 따라 부모 요소의 스타일을 자식 요소로 전달한다.

스타일 시트에서는 자식 요소에서 별도로 스타일을 지정하지 않으면 부모 요소에 있는 스타일 속성들이 자식 요소에도 그대로 전달된다. 예를들어, <body>태그는 <h1>태그와 <ul>태그의 부모 요소이다. 따라서 <body> 태그의 스타일이 그대로 <h1>에도 적용된다.

다만, 모든 스타일 속성이 상속되는 것은 아니다.  명시도나 소스 순서에 따라 스타일끼리 충돌하지 않도록 한다.

 

스타일을 사용하는 이유

  • 내용을 건드리지 않고 디자인만 변경할 수 있다. 
  • 기기에 맞게 탄력적으로 수정이 가능하다.(내용은 그대로 두고 디자인만 변경이 가능하기 때문)

스타일 표기하는 방법

  • 선택자 (스타일 규칙을 적용할 곳) { 속성:속성 값; 속성;속성 값; }  세미콜론으로 구분한다.
  • 개발자가 읽고 수정하기 쉽도록 여러 줄에 걸쳐 작성하는 것이 좋으며, 이해를 돕기 위해 주석을 달기도 한다.  /* 주석 /*

 

스타일 시트

여러 개의 스타일규칙이 사용되는 경우 규칙들을 묶어 '스타일 시트'로 만들어 가독성을 높이고 수정이 용이하도록 한다.

  • 내부 스타일 시트 : 문서 안에서 사용할 스타일 시트를 정의. 모든 스타일은 <head>태그와 </head>태그 안에서 정의하고 <style>태그와 </style>태그 사이에서 작성한다.
  • 외부 스타일 시트 : 웹 사이트에서 여러개의 웁 문서를 사용할 때 같은 내부 스타일 시트를 각각의 문서에 만드는 것은 비효율적이기 때문에 별도의 스타일 파일로 만들고 파일을 연결해서 사용한다. '.css' 파일 확장자를 사용한다. <style>태그 없이 <link>태그를 사용한다.
    <link href="외부 스타일 파일 경로" rel="stylesheet" type"text/css">
  • 인라인 스타일 : 간단한 정보는 스타일 시트를 사용하지 않고 적용할 대상에 직접 표시한다. 해당 태그에 style 속성을 사용한다.  < style="속성:속성 값;" > 

 

주요 선택자

  1. 전체 선택자 : (universal selector) 스타일을 모든 요소에 적용할 때 사용한다. *를 사용한다. *{ 스타일 } 
  2. tag 선택자 : (tag selector) 특정 태그가 쓰인 모든 요소에 스타일을 적용한다. 태그 { 스타일 }
  3. class 선택자 : (class selector) 특정 부분만 스타일을 적용할 때 사용한다. .class이름 {스타일 } .(마침표)을 꼭 앞에 붙여야한다. 그리고 특정 태그의 class만 적용할 때는 '태그.클래스이름 { 스타일 }' 를 사용한다.
  4. id 선택자 : class 선택자와 마찬가지로 웹문서 안의 특정 부분에 스타일만을 지정할 때 사용한다. class 선택자와의 차이점은 class 선택자는 문서 내에서 여러차례 지정이 가능하지만 id 선택자는 문서 내에서 한 번만 적용할 수 있다.  #id명{ 스타일 }
  5. 그룹 선택자 : 둘 이상의 요소에 같은 스타일을 적용할 때 사용한다. ,(콤마)를 이용해 {스타일} 앞에 적용할 이름을 나열한다.          이름1, 이름2 { 스타일 }

 

728x90

'Language > CSS' 카테고리의 다른 글

CSS background 속성  (0) 2022.04.16
CSS list-style 속성  (0) 2022.04.15
CSS text style 속성 2  (0) 2022.04.14
CSS text style 속성 1  (0) 2022.04.13
CSS font 속성  (0) 2022.04.12