1. css
웹페이지에서 구조를 담당하고 있는 html의 색, 크기 등의 시각화를 담당한다.
주로 속성과 값으로 이루어져 있다.
- 단일 속성 지정 : 1개의 속성과 값의 쌍을 의미한다.
- 다중 속성 지정 : 2개 이상의 속성과 값의 쌍을 의미한다.
선택자{
속성: 값; // 종료를 의미하기 때문에 반드시 적어주기
}
css 지정 후 반드시 종료를 표기해야 한다. 아니면 문법적 오류가 뜬다.
css 나타내는 방법 3가지 | |
1. html 태그에 css 직접 입력하기 | inline style 방식으로 style = "속성 : 값" 으로 표기하기. 유지 보수에 유리하지 않고, 관심사 분리가 안 된다. 즉 같은 언어끼리 묶이지 않고 있다는 의미이다. |
2. head 태그 안에 style 태그 입력하기 | style tag 방식으로 head 태그 아래에 style 태그를 넣어준다. 유지 보수에 유리하나, 관심사 분리가 안 된다. |
3. css file을 만들어서 불러오기 | 파일을 분리하여 관리하기. 유지 보수에도 유리하고, 관심사 분리가 잘 되어 있다. link 태그를 불러와서 잘 연결시키기. |
css 사용 시에 선택자가 필요하다. 선택자에는 4가지가 있다.
css 선택자 | |
1. 전체 선택하기 (전체 선택자) | * |
2. tag 선택하기 (태그 선택자) | tag 적어주기. |
3. class 선택하기 (class 선택자) | .class 이름 적어주기. 중복 가능하다. |
4. id 선택하기 (id 선택자) | #id 이름 적어주기. 중복 불가능하다. 즉, 유일해야 한다. |
2. css의 기본 원칙
- html은 모두 박스 모델로 이루어져 있다.
- content-box에서 border-box로 변경시키는 것이 css의 최종 목표이다.
- content-box : 내용물 기준을 의미한다. 무슨 일을 벌여도 내용의 크기가 변하지 않는다. 컨텐츠를 고정한다.
- border-box : 경계 기준을 의미한다. 무슨 일을 벌여도 경계의 크기가 변하지 않는다. 웹사이트를 고정한다.padding 이용하여 content 크기를 줄일 수 있다.
margin // 밖 여백
border // 기준
padding // 안 여백
content // 기준
즉, css 설정 시에 모든 선택자를 border-box로 설정하면 웹사이트를 고정시켜서 내용물의 크기가 웹사이트 크기에 의존하게 된다.
* {
box-sizing : border-box;
}
3. flex
block 그리고 inline 태그를 원하는 대로 배치 및 꾸미는 것이 목적이다. 하지만 css는 대각선 이동이 불가능하다. 고로 가로 또는 세로로만 이동이 가능하다. flex는 여러 태그를 1개로 묶어서 정렬한다. 즉 부모 태그가 필요하다. 부모 박스가 기준이 되는 것이다.
- 부모 박스 : flex 정렬 시에 기준이 된다.
- 자식 박스 : 수직인지 수평인지에 따라서 가로, 세로 이동이 달라진다. 자식 박스와 justify-content는 방향이 동일하다.
display : flex;
flex 정렬하기 | ||
자식 박스 flex-direction |
수평 | 수직 |
가로 | justify-content | align-items |
세로 | align-items | justify-content |
가로, 세로 이동을 하기 위하여 justify-content와 item-aligns를 이용한다.
4. position
position은 박스 위치를 조정한다. position을 비활성화한 경우에는 static이다.
absolute | 박스 기준 절대 위치 |
relative | 부모 박스 기준 상대 위치 |
fixed | 화면 기준 절대 위치 앱에서 네비게이션 바 등을 의미한다. 스크롤 시에도 내려가지 않는 경우이다. |
5. figma
- ctrl + 마우스 휠 : zoom in 또는 zoom out 가능하다.
- space + 마우스 : 위치 조정 가능하다.
'web > html css' 카테고리의 다른 글
[html css] 싸이월드 만들기 (2) (0) | 2023.03.02 |
---|---|
[html css] 싸이월드 만들기 (1) (0) | 2023.02.24 |
[html css] 회원가입 양식 만들기 (0) | 2023.02.23 |
[html] 회원가입 양식 만들기 (0) | 2023.02.22 |
[html] html이란 무엇일까? (0) | 2023.02.22 |