🎁 CSS의 탄생배경
폰트: (자바의 wrapper클래스처럼) 태그는 아니지만, 렌더링은 가능하다. 🧨
html태그의 역할은 구조적인 기능, 시맨틱태그처럼 정보검색을 용이하게 하는 기능이 추가되었다.<font size="8" color="blue">Hello</font>,<font size="8" color="red">Hello</font>
- 디자인적 요소는 앞으로 CSS 언어가 담당한다!
<h1 style="color: tomato;">Hello World</h1><h1> 에서 css 속성값을 지정할 수 있지만,
<style>태그에 선택자를 지정하여 보통<head>안에 css를 입힌다.<style> h2{ color: powderblue; } </style>
<style>
selector{
속성1:값1;
속성2:값2;
....
}
</style>
1. 태그 이름
selector{...css 적용...}
2.클래스
.selector{...css 적용...}
3. id
#selector{...css 적용...}
tag.class{속성1:값1;, 속성2:값2;,....}
tag#id{속성1:값1;, 속성2:값2;,....}
selector1, selector2, selector3, ..{ 속성1:값1;,속성2:값2;....; }
특정 상황에 따라 반응하는 가상 클래스
HTML태그에서 특정 상황이 발생했을 경우에만 적용되는 CSS 셀렉터이다.
가상클래스는 CSS의 셀렉터 이름 뒤에 :상황 의 형식으로 명시한다.
:first-child : 여러 개의 동일한 요소 중 에서 첫번째요소
:last-child : 여러 개의 동일한 요소 중 에서 마지막요소
1. 자식 셀렉터
>로 구분>는 HTML의 계층 구조의 표현 선택자A > 선택자B 일 경우 B요소는 A의 1depth 안에 존재해야 한다.
2. 자손 셀렉터
공백으로 구분3. HTML 속성에 따른 구분
input[type= 'password']{
border: 3px solid tomato;
}
4. nth-child 가상클래스
:nth-child(n)형식이 추가:nth-last-child(n)를 사용한다.1. style attribute
2. id selector
3. class selector
4. tag selector
단, 속성에
!important키워드를 삽입하면 해당 키워드를 먼저 적용한다.
font-size : 글자 크기
font-style : 글자 기울임
font-weight : 글자 굵기
line-height : 줄간격
font-family : "서체종류"
font : font-weight font-style font-size``line-height font-family; (일괄지정방식)
😊 문단 관련된 CSS 연습할 때 참고하기!
아무 의미없는 텍스트를 가져올 수 있는 사이트
셀렉터 {
text-shadow : x-offset y-offset blur-radius color;
}
x-offset: 본체와 그림자의 가로축 거리(px)y-offset: 본체와 그림자의 세로축 거리(px)blur-radius: 번짐정도(px)color: 그림자의 색상
<span style="text-shadow: 3px 3px 5px blue;">HTML5</span> &
<span style="text-shadow: 3px -3px 5px orange;">CSS3</span>
border : 굵기 종류 색상;
border-top 굵기 종류 색상;border-right 굵기 종류 색상;border-bottom 굵기 종류 색상;border-left 굵기 종류 색상;😊 CSS 박스 속성
box-sizing: border-box;
border값으로 인해 전체적인 box의 크기가 달라지는 경우가 발생하는데..
이에 대응하기 위해 box-sizing 속성으로 해당하는 태그에 전체적인 width값과 height값을 통일시켜줄 수 있다.
: 내용영역과 border 사이의 여백의 크기
padding : px값;
표시 위치에 따른 값의 세분화
padding-top 상단 여백 px단위로 지정
padding- right 우측 여백 px단위로 지정
padding-bottom 하단 여백 px단위로 지정
padding-left 좌측 여백 px단위로 지정
값의 지정 형식 (공백 구분)
마진 겹침 현상 : "상하" 마진값이 어떤 상황에서 사라지는 현상을 의미한다.
<div> 간의 크기 관계child태그는 parent태그의 내용이므로 child 의 border와 padding 을 합한 모든 크기 요소의 합이 parent의 width나 height를 넘을 수 없다.child의 전체 크기가 parent의 width나 height의 값보다 커진다면 child는 parent를 벗어나게 된다)박스에 대한 width나 height 속성을 백분율로 지정할 경우에도
비율에 대한 기준이 되는 건 부모요소에 대한 width와 height 값이다.
width, height, margin-left, margin-height에 대해 적용할 수 있는 특수한 값으로, 어떤 속성에 적용되느냐에 따라 동작하는 원리가 달라진다.
width : auto;
: 부모요소의 width값으로부터 padding과 border 크기를 뺀 나머지 값을 자동으로 계산하여 width에 적용한다.
height : auto;
자신이 포함하고 있는 내용영역에 대한 높이 만큼만 height를 설정
box-sizing 로 padding값, border값으로 박스 크기가 width값을 넘을 때 전체 박스 크기를 width 에 맞춰준다.
display: block;
display : inline;
display:none;
block : 크기 지정 가능, inline : 문장으로 형성됨)<li>태그의 디자인 양식을 제거list-style: none; : 이 속성을 적용하면 각 list 앞에 붙는 표시가 제거(none)된다.
float : left; : 요소를 부모박스 안에서 왼쪽에 고정
float : right; : 요소를 부모박스 안에서 오른쪽에 고정
float : inherit; : 부모요소에 적용된 float 속성값을 상속
float : none; : float속성을 적용하지 않음기본값
📌 float 속성 사용시 주의사항
- width속성에 대한 auto값을 사용할 수 없게된다
- %나 px 단위의 값만 사용 가능하다.
<div> 태그를 사용하고 float: none; clear : both;의 CSS속성을 적용한다.<div class="clear" style="float: none; clear : both;"></div>
:before : 시작 태그 직후의 inline-level의 가상 클래스:after : 종료 태그 직전의 inline-level의 가상 클래스.clear:after{
/* content는 태그안에 들어갈 내용 입력 */
content: '';
/* block-level의 영역이 크기를 설정할 수 있다. */
display: block;
clear: both;
float: none;
}
🎆 CSS코드에서 제공하는 애니메이션 코드
transition: all 0.3s;: 트랜지션 애니메이션이 적용여부(all or none)에 따라 시간(__s)을 적용한다.
static : 기본값
relative : 기준위치 지정
absolute : html 태그 기준으로 변경
fixed : (스크롤에 상관없이) 고정값
신문기사 처럼 컬럼을 나누어주는 기능
column-count : (최대)컬럼 수 지정
column-width : 컬럼의 너비
column-gap : 컬럼 간격
column-rule-style : 컬럼 사이 라인 모양
column-rule-color : 컬럼 사이 라인 칼라
column-span: all; : 모든컬럼에서 하나의 영역으로 강조하는 효과
column-span: none; : 하나의 컬럼에서 하나의 영역으로 강조하는 효과
1. link
<link rel ="stylesheet" href="style.css"/>
2. import
<style>
@import url ("style.css");
</style>
📌 Cache : 자주 접근하는 데이터를 복사해 놓는 "임시 저장소" - Browser cache : 서버 지연을 줄이기 위해 사용하는 웹캐시의 일종
1. 부트스트랩 사이트에 접속 후 CND를 통해 아래의 CSS 코드를 복사해 부트스트랩에 적용된 템플릿을 이용할 수 있다.

<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
1. 부트스트랩 사이트에 접속 후 CND를 통해 아래의 CSS 코드를 복사해 부트스트랩에 적용된 템플릿을 이용할 수 있다.
2. docs페이지에 들어가서 원하는 CSS 디자인양식을 찾아서 코드를 복사후 활용하면 된다.