| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
- 자바스크립트
- 패스트캠퍼스
- Github
- 개발자취업부트캠프
- GIT
- 국비지원교육
- 비전공자
- 모던 자바스크립트 딥 다이브
- 공식문서
- 내일배움카드
- 프로그래머스
- 이벤트
- TypeScript
- MegabyteSchool
- styled-components
- 프론트엔드
- next.js
- 리액트
- 알고리즘
- 코딩테스트
- CSS
- 개발 공부
- useMemo
- useRef
- 메가바이트스쿨
- react
- 모던 딥 다이브 자바스크립트
- JavaScript
- 입문
- 자료구조
- Today
- Total
개발 기록 남기기✍️
[패스트캠퍼스] 프론트엔드 부트캠프 HTML/CSS 수업 1주차 후기✨(2주차) 본문

안녕하세요? 벌써 교육 2주차가 끝나고 3주차가 시작되었다.
이번 교육에 임하면서 다짐했던건... 틀려도 괜찮으니까 질문에 답하고 보기!
그리고 수준 낮아보이더라도 궁금한 것은 꼭 질문하기! 였다.
괜히 아는 척하고 넘어갔다가 나중에 프로젝트 진행할 때 꼭 기초 지식이 발목을 잡는 일이 발생하게 되어서..
기초를 탄탄히 하기 위해서는 질의응답을 통해서 진짜 내가 이걸 아는지 확인하는게 필요하기 때문이다.
지난 주부터 HTML/CSS 강의가 진행되고 있다.
git과는 다르게 HTML/CSS는 어느 정도 기초 지식이 있다는 것을 가정하고 진행되었다.
웹 퍼블리셔 부트캠프를 이미 들었던터라.. 실시간 수업에 집중하지 못할까봐 좀 걱정이었다.
근데 강사님 질문에 답하다보니까.... 음... 남은 한주간도 집중 빡세게 해야겠다 ^__^
그동안 내가 얼마나 많은 것들을 깊게 안다루고 아는 척하면서 쓰루했는지 보이는 시간이었다.
아 그리고 CSS flex를 자세하게 다뤄주셔서 너무 좋았다!
부트캠프 들을 때는 강사님이 flex나 grid는 나중에 따로 공부하면 된다고 display : float 만 가르쳐주셔서...(ㅂㄷ) 혼자서 웹페이지 클론코딩하면서 flex와 grid가 등장할 때마다 고역이었는데.. (유튜브 찾아봐도 이해가 안갔다.) 속성 하나하나를 다뤄주시면서 실습과 함께 강의를 진행해주셔서 그동안 머릿속에 흩어져있던 개념들이 정리가 되었다!
오늘은 grid 배우기로 했는데 그 많은 내용을 어떻게 설명해주실지 벌써 두근쓰...
오늘 포스팅에서는 한주 동안 배웠던 내용을 적으면서 다시 리마인드 하려고 한다!
양이 좀 많으니 잘 따라와주세유..! (내 자신아)😁
🗒️ 221220 HTML/CSS 수업 Remind
- href : hypertext reference. a 태그의 속성으로, 어느 페이지로 이동할 것인지를 작성
- lang, id, class, tabindex, title : 전역 속성 (body에도 해당 속성 부여 가능)
- tabindex : 일종의 번호. 탭 키를 눌렀을 때 번호 순서대로 포커스를 준다. 음수를 주면 해당 탭에는 포커스를 주지 않는다.
- contenteditable : 해당 내용을 수정 가능. 해당 속성이 부여된 요소에 내용을 작성하면 기본적으로 해당 요소 안에 내용 한줄마다 div가 하나씩 추가 생성된다.
- data-... : html 문서 내에 해당 데이터를 저장할 수 있음 ➡️ 주로 javascript에서 해당 속성을 가져다가 사용
- position, float 속성을 가진 요소는 자동으로 display : block 처리된다.
- 자식요소로 상속되는 속성 : 글꼴 + 글자와 관련된 속성
- 글꼴 속성(5개) : font-size, font-weight, font-family, line-height
- 문자 속성 : text-align, color, white-space, word-break...
- word-break
- 영어는 기본적으로 띄어쓰기 단위로 단어 구분
- 한글은 기본적으로 글자 하나하나로 구분. 띄어쓰기 단위로 구분하려면 word-break:keep-all로 지정해줘야 함.
- 글씨체 종류 : 고딕체(sans-serif), 바탕체(serif), 필기체(cursive), 고정너비체(monospace), fantasy
- 저장소에서 직접 폰트를 불러오는 것보다 웹 폰트를 사용하는 것이 페이지의 경량화와 처리 속도 상승을 높이는 것에 도움을 준다.
- inherit : 부모의 속성을 강제 상속한다.
✅ 각 속성의 기본값
| 속성명 | 기본값 |
| width | auto (block : 최대한 늘어나려고 함, inline : 최대한 줄어들려고 함) |
| height | auto (최대한 줄어들려고 함) |
| position | static |
| white-space (줄바꿈) | normal |
| font-size | 16px |
| border-color | inherit (자신의 글 색상을 상속받음) |
| border | medium none inherit |
| font-weight | normal, 400 |
| background-color | transparent |
| background-repeat | repeat |
| background-position | 0% 0% |
| background-size | auto (이미지의 실제 크기) |
| background-attachment | scroll (이미지가 요소를 따라서 같이 스크롤) |
| z-index | auto (부모와 동일한 쌓임 정도) |
🗒️ 221223 HTML/CSS 수업 Remind
CSS Flex
- flex 속성을 부여하는 요소 : Flex Container
- flex 속성 아래에 있는 요소들 : Flex Items
Container 속성
- container는 items를 수평 정렬한다.
- inline-flex하면 container를 글자 취급한다.
- inline-flex에서 줄바꿈은 띄어쓰기 처리되므로 주의!
- flex는 1차원 레이아웃, grid는 2차원 레이아웃
- flex-direction : column의 필요성 ➡️ html 구조를 건들지 않고 item의 정렬 순서를 바꿀 수 있다.
- flex-flow : flex-direction flex-wrap
- wrap : 줄바꿈을 지정
- justify-content : 주 축의 정렬 방법을 설정 ➡️ 남는 공간을 어떻게 활용할 것인가를 정의함
- align-items : 교차 축의 한 줄 정렬 방법
- align-content : 교차 축의 정렬 방법
- 기본값 : stretch ➡️ item은 높이를 최대한 늘려서 container의 높이를 따라감. content 속성은 줄이 여러 줄일 때 유효함.
Item 속성
- flex item은 너비가 최대한 줄어들게 된다. ➡️ 반드시 너비/높이 지정 필요!
- flex-grow : 증가 너비 비율
- flex-shrink : 감소 너비 비율 (크기가 줄어들 수 있음을 전제함)
- flex-basis : 기본 너비를 자신이 포함하고 있는 내용 및 너비를 제외한 나머지 영역을 기준으로 비율을 가짐
- flex 단축 속성을 사용했을 때, basis의 값을 적지 않으면 flex-basis의 기본값은 0이 된다.
- align-self : align-items를 자기 자신에게 적용
flex 속성 기본값
| 속성명 | 기본값 |
| flex-direction | row |
| flex-wrap | nowrap (줄바꿈 없음) |
| justify-content | flex-start |
| align-content | stretch |
| align-items | stretch |
| order | 0 |
| flex-grow | 0 |
| flex-shrink | 1 (flex container 너비에 따라 감소 비율 동일하게 적용) |
| flex-basis | auto (요소의 content 너비) |
Position
- fixed : viewport 기준으로 고정
- 조상 요소에 transform, perspective, filter 중 하나가 있다면 그 조상 요소를 컨테이닝 블록으로 삼는다.
말줄임표 처리
- white-space : nowrap;
- overflow : hidden;
- text-overflow : ellipsis;
✅ 세 속성을 함께 써야 한다!
그 외
- width 속성에 min-content를 지정하면 content 크기만큼만 너비를 가진다.
- background에 그라데이션을 지정하려면 background-image : gradient()를 사용한다. (-image 속성임을 기억!)
- background-size : contain (빈 공간 O) / cover (이미지가 요소 전체를 덮음)
- 배경이미지 대체 텍스트 숨김 처리 : text-indent : -9999px;
- margin collapse : 마진 중복
- 형제 블록 요소의 상하 마진 중복 ➡️ 더 큰 마진값만 적용 (좌우는 중복 발생 X)
- 부모 자식 블록 요소의 상상 혹은 하하 마진 중복 ➡️ 부모에 margin 처리됨
- 마진 중복은 문제가 아닌 우회하거나 활용 가능한 현상이다.
- 마진 중복은 블록 요소에만 발생한다.
position, float 속성을 가진 요소들은 자동으로 block 처리된다.
해당 속성 걸어놓고 display:block 처리하는 사람들은 제대로 공부 안한 사람들이다. 라고 하셨는데 앗.. 혹시 나..? ^,^
자동으로 block 처리 되는지 몰랐던 사람 1인...🙄 이제 알았으니 앞으로 주의해서 작성해야겠다!
지금은 HTML,CSS만 사용해서 원하는 페이지를 클론코딩하는 과제를 하는 중이다.
JS를 사용하지 않고 하려니 CSS에서 만질 부분이 많아져서 좀 짜잉난다...ㅋㅋㅋ
하지만 JS 대신 CSS로 구현할 수 있는 부분들을 보고 재구축하는 과정 속에서 어떻게 하면 더 효율적으로 코드를 짤 수 있을지 고민하게 된다! 또 그동안 잘 사용하지 않았던 CSS -webkit- 속성을 사용할 수밖에 없는 상황이 있어서 그 부분을 공부하게 되는 계기가 되었다.
클론코딩하면서 좀 어려웠던 부분은 조만간 포스팅으로 작성하면서 다시 정리해야겠다!
일단 저는 다시 과제를 하러 갑니다.. 총총총
여러분 이번 한 주도 화이팅입니다!

'개발 일기장' 카테고리의 다른 글
| [패스트캠퍼스] 프론트엔드 부트캠프 한달차 후기✨(4주차) (0) | 2023.01.08 |
|---|---|
| [패스트캠퍼스] 프론트엔드 부트캠프 HTML/CSS 클론코딩 과제 후기✨(3주차) (2) | 2023.01.02 |
| [패스트캠퍼스] 프론트엔드 부트캠프 git과 github으로 처음 협업해 본 후기✨(1주차) (0) | 2022.12.17 |
| git branch merge 연습하다가 키보드 부술 뻔한 후기🤦♀️(feat. 근황) (0) | 2022.12.15 |
| [메가바이트스쿨] 메가바이트 스쿨 프론트엔드 과정 합격 후기✨ (0) | 2022.12.02 |