● 2. CSS가 등장하기 전의 상황
- 위 코드의 문제점
- <h1>, <a> 태그는 각각 WEB이라는 문자가 링크, 제목임을 설명하는 "정보"임에 반해, <font> 태그는 "디자인" 기능을 할 뿐 어떠한 정보도 가지고 있지 않다. 따라서 웹페이지가 정보로서의 가치가 떨어지는 문제가 생기게 된다.
- 만약 다른 색깔로 바꾸고 싶다면, 여러 개의 코드를 일일이 수정해야하는 비효율이 발생한다.
● 3. CSS의 등장
코딩 잘하는 방법 = "중복의 제거"
<style> : "웹 브라우저야. 이 태그 안에 있는 내용은 CSS니까, CSS라는 언어의 문법에 맞게 해석해서 처리해."
- CSS의 폭발적 효과
- "디자인"에 관한 내용임을 한 눈에 알 수 있으므로 가독성이 높아지고, 코드의 유지·보수가 쉬워진다.
- HTML을 돕는 경제적 언어! 태그가 아무리 많더라도 순식간에 디자인 변경이 가능하다.
● 4. CSS의 기본 문법, 5. 혁명적 변화
Selector (선택자)
Declaration (효과, 선언)
Property (속성) : Attribute와 구별할 것!
Value (값)
(사람의 언어에 비유하자면, Selector는 주어, Property는 술어에 해당)
- 웹페이지에 CSS를 삽입하는 2가지 방법
- head 부분에 <style> tag를 사용한다.
- 효과를 원하는 태그 안에 <style=" "> attribute를 사용한다. : 그 값으로 반드시 CSS 효과가 들어오기로 약속되어 있다. 따라서 selector는 필요 없다.
● 6. CSS property를 스스로 알아내기
검색 예시 : "CSS font size property", "CSS font center property"...
"뇌를 이기는 의지는 없다" = 모든 것을 외우려고 뇌를 혹사시키지 말고, 배운 것을 활용해 문제해결 하는 능력을 키우자!
● 7. CSS selector의 기본
- 위 코드 설명
- selector 사이 우선순위 (포괄적 < 구체적) : element (a 등) < .class < #id
- 같은 selector라면, 가장 마지막에 기재된 selector가 우선순위가 높다.
- <a> 태그 내에 있는 class="saw" 는 HTML이지 CSS가 아니다. 즉 "<a>는 saw라는 class 값을 가지는 태그"라는 의미이다.
- "class 값이 saw인 태그에 변화를 주고 싶다" = .saw { color:gray; } (앞에 온점(.) 누락 주의)
- 같은 값의 #id selector는 문서 전체에서 단 한 번만 등장할 수 있다. id의 핵심은 "중복되면 안된다"이기 때문이다.
● 8, 9. 박스 모델
CSS box model : 각각의 HTML 태그를 일종의 '박스'로 취급해, 그 부피감을 결정하는 것.
<h1> 같은 block level element는 '화면 전체'를 쓰고, <a> 같은 inline element는 '일부'만 사용한다.
한편, 위 코드는 '중복'이 많아 비효율적이다. 따라서 아래와 같이 획기적으로 줄일 수 있다.
- property 종류 정리
border : 박스 경계
padding : 박스 안쪽 간격
margin : 박스 바깥쪽 간격
width : 박스 너비
height : 박스 높이
display : 성질을 바꿔줄 수 있다. (예 : display:block; display:inline; display:none;(웹 화면에서 안보이게))
● 10. 그리드
- 오로지 디자인하기 위해 사용하는 어떠한 의미도 가지지 않는 태그 (무색무취!)
grid : element를 원하는 방식으로 배치하고 싶다면, '부모 태그'가 필요하다.
- 위 코드 설명
display : grid -> 컨테이너가 될 부모 요소에게 grid를 주면, 자식 요소들은 grid items가 된다.
grid-template-rows (행) / grid-template-columns (열)
1fr (fraction): 남은 자유공간의 1/(총fr) 만큼의 크기를 할당한다.
- 어떤 기능을 지금 사용해도 될까?
caniuse.com
● 11. 그리드 써먹기
● 12. 미디어 쿼리 소개
Responsive Web (반응형 웹) : 화면 크기에 따라 웹페이지의 각 요소들이 최적화된 모습으로 변하게 만든 것.
Media Query : 반응형 디자인을 CSS를 통해 구현하는 핵심 개념. 여러 형태의 화면이 존재하는 세상에서 중요하다.
: 화면 크기가 "최대 800px까지만" 중괄호 안의 CSS가 작동한다. (= 800px 이하에서만 작동한다.)
● 13. 미디어 쿼리 써먹기
● 14. CSS 코드의 재사용
"중복의 제거"
<style> 태그 안의 내용을 'style.css'라는 파일로 별도로 저장 후, <link> 태그로 끌어오기
-> style.css 파일 내용을 수정하면, 이를 링크로 삼은 다른 파일의 CSS가 모두 수정된다!
즉, 겉보기에는 같으나 내부적으로는 훨씬 더 효율적인 상태가 된다.
Q. 네트워크 속도 측면에서는 불리하지 않나?
A. 'Caching' 덕분에 불리하지 않다.
Caching (캐싱) = 파일 복사본을 저장해두고, 다음에 접속할때 보다 빠르게 불러올 수 있도록 하는 프로세스.
● 15. 수업을 마치며
공부는 많이 했는데 써먹지 않는다면, 뇌는 억울해서 더이상 공부하지 않으려고 한다.
반대로 공부는 적게 했는데 최대한 써먹는다면, 뇌는 신나서 자꾸 공부하려 한다!
-> 배운 것을 써먹어서 나에게 의미있는 웹사이트를 직접 꾸며보자.
'Programming' 카테고리의 다른 글
git (0) | 2024.01.14 |
---|---|
[혼공파] Iteration (1) | 2023.12.31 |
[혼공파] Conditional (1) | 2023.12.15 |
[혼공파] Data type (0) | 2023.12.14 |
[생활코딩] HTML & Internet (1) | 2023.10.28 |