해당 글은 제가 예전에 다른 블로그에서 작성했던 글을 옮겨온 것입니다.
원문은 21.12.20 작성되었습니다.
CSS란? Cascading Style Sheet
CSS란 html을 통해 작성된 콘텐츠 내용에 색상, 폰트, 크기, 정렬방식, 테두리 등과 같은 스타일을 부여할 수 있는 코드들을 말한다.
또한 이러한 CSS의 적용방식에 따라 디자인과 콘텐츠 내용을 분리 시킬 수 있다는 장점이 있다.
CSS의 적용방식은 크게 세가지로 나뉘는데 아래 예시를 통해 살펴볼 것이다.
그리고 특정 태그만을 지정하여 스타일을 줄 수 있도록 만들어주는 선택자 기능에 대해서도 다뤄볼 것이다.
CSS2의 기존 규약에 새로이 추가한게 " CSS3 "
▶ 작업방식
- 인라인스타일: html태그 안에 직접 입력하는 방식
- 내부스타일:
<style>
태그 안에 작성하는 방식- 외부스타일: 실무에서 사용되는 방식으로 별도의 파일을 따로 들어 분리시키는 방식
예시를 통해 살펴보기
인라인 스타일은 <body>
안에 작성되는 '태그 안'에 CSS코드를 작성하게 되는 방식이다.
아래의 sheet에서 볼 수 있는 방식으로, <태그 이름 style="width: 너비값, height: 높이값">
과 같이 작성한다.
※ 윗 내용의 간단 풀이
- 제목박스크기, 배경색설정, 글자 가운데정렬, 글자라인 높이 설정
- 링크의 글자색상설정, 밑줄제거, 폰트크기 설정, 글자간격 설정
내부 스타일은 <head>
태그 안에 style태그를 만들어 정리하는 방식으로써 html작성 sheet안에서 내부에 따로 공간을 구분해 CSS코드들만 모아둘 수 있다는 특징이 있다.
내부스타일방식으로 {}
안에 작성할 경우엔, 각 스타일 정보를 다 다른 줄로 정리해도 오류는 발생하지 않는다.
단, 하나의 스타일 타이핑은 한줄안에 이뤄져야하며, 각 스타일 정보는 세미콜론으로 구분되어야 한다.
※ 인라인스타일과 내부스타일을 중복 작성할 경우 인라인스타일이 우선순위로 적용된다.
- 대상과 가장 가까이 있는 스타일이 적용되는 것 때문에 내부스타일 안에서도 같은 스타일태그를 중복입력하면 대상과 가장 가까운 스타일의 값이 적용된다.
- 이를 이해하면 내부스타일의 수정할 태그 부분을 찾기 어려울 때 급하면 인라인스타일을 적용시켜서 반영시킬 수 있다.
외부 스타일 방식은 작성 방식은 내부스타일과 똑같이 작성되지만 <style>
코드 안에 넣는 것이 아니라 css파일을 생성해서 그 안에 코드를 작성한 후, <link>
태그를 이용해 html파일과 연결하는 방식을 취한다.
※ 스타일 적용 우선순위: 내부스타일과 외부스타일 중 대상에 가까운 것이 우선적용
※ css태그는 무조건 js(javascript)태그보다 위에 있어야함
Cf) 스타일태그의 주석 단축키는 동일하지만 주석 코드는 / 태그 /이다.
태그의 스타일을 주석처리할 때 { }안의 정보만 주석처리 혹은 태그 통째로 해야 오류가 안 난다.
스타일을 개별적으로 특정지어 주기 위한 기능인 선택자 기능에 대해 알아보자.
이 기능을 이용하면 내가 부여한 선택자에게만 특정한 CSS코드를 줄 수 있다.
#id
는 하나의 태그만 사용 가능, 중복 지정x.class
는 여러 개의 태그 중복 사용 가능※참고: border의 경우 세가지 속성을 지님, 세미콜론이 아니라 띄어쓰기로 나눔
- 선두께, 선모양, 색상
지정 선택자를 사용할 때, 태그선택자보다 class선택자가 우선순위가 더 높다.
그리고 class보다는 id선택자가 더 높은 우선순위를 가진다.
∴ 우선순위: * < 태그 < .class < #id < 인라인 < !important
→ 즉, green을 무시하고 각각 id스타일에 있는 blue와 red가 반영됨
내부스타일 태그 안에 !important
를 입력하면 해당 태그의 스타일을 최우선 순위로 처리하게 된다.
→ 따라서 스타일 충돌이 생길 경우 우선순위에 따라 스타일이 적용된다.
잘못된 부분에 대한 지적은 얼마든지 환영입니다.
감사합니다.