와이어프레임 구성
flex를 사용하여 정렬하기
: margin과 padding 대신, justify-contents와 align-items 속성으로 정렬
align-items : center;
가 적용 안될때
- container의 영역을 먼저 확인
: 적용이 되었는데 container의 범위가 예상했던 것보다 작을 수 있으므로 border로 영역 확인- body태그의 background-color가 화면 전체 적용되더라도 border의 영역이 다름
정확한 사이즈을 위한 초기화 작업
* {
box-sizing: border-box;
}
body {
margin: 0;
padding: 0;
}
계산 결과창 숨은 영역
연산 영역(숨은 영역)
: 합산 영역을 표기하기 위해 연산하는 영역이 display: none;
으로 화면에서 가려져있음
합산 영역
< 클래스명 참고용 >
<!--계산영역-->
<main>
<!--연산-->
<div class="calculator__display--bare">
<span class="calculator__operend--left">0</span>
<span class="calculator__operator">+</span>
<span class="calculator__operend--right">0</span>
<span class="calculator__equal">=</span>
<span class="calculator__result">0</span>
</div>
<!--연산 결과물-->
<div class="calculator__display--for-advanced"></div>
</main>
숫자버튼 (0~9) number
연산자 버튼 (+, -, *, /) operator
소수점 버튼 (.) decimal
초기화 버튼 (AC) clear
계산 버튼 (Enter) calculate
선택자 :nth-child() 적용 안될 때
: 소괄호 내부에 n에 해당하는 내용을 지정해야함
ex.
.inputArea :nth-child(){ CSS 내용들 }
->.inputArea :nth-child(n){ CSS 내용들 }
flex-grow의 비율은
flex-basis: 0;
일때 가장 명확하게 보임
: 요소의 크기를 0으로 설정하면 여백이 100%로 측정되므로 여백의 분배 비율을 나타내는 grow값이 가장 잘 보임
요소의 크기는 flex-basis값 외에도 영향을 받음
:flex-grow : 0;
이 아니고flex-shrink: 0;
이 아니라면 요소의 크기는 basis값보다 커지거나 작아짐
Chapter1. 레이아웃
Chapter2. Flex
과제. 계산기 목업 만들기
이해도 자가 점검 리스트의 결과를 토대로 자기주도적 학습 계획을 수립하고 실천해 보세요.
느낀점
계산기를 만들었다. 이게 이렇게 복잡한 일이었구나. 심지어 쉽게 가로로 나누면 될 것을 수직으로 섹션 나누고, 가로로 섹션 나누고 또 다시 하위 요소 나누고 flex로 끝점 맞춰서 나열하고.. 물론 복잡하게 해도 flex를 더 여러 방면으로 쓸 수 있어서 좋긴 한데, 시간이 많이 걸린게 흠이다. 아직 공부할 때니까 이렇게 연습하는 것도 나쁘지 않겠지. 다만, 다음부터는 꼭 이렇게 해야한다라는 것보다 큰 그림을 보자. 정답은 없으니 쉽게 갈수있는건 쉽게 가고.
그리고 웹에서 눈에 띄는 디자인을 좀 생각해봐야겠다. 핀터레스트로 단색의 그니쉬 그레이 음각 계산기 3d모델링이 너무 예뻐서 비슷하게 해보려고했는데... 눈에 띄지 않는다. 실제 제품은 심플하고 깔끔한게 예뻐보이지만, 우선 눈에 띄어야한다. 개발자로서 심각하게 고려해야할 사항은 아닌 것 같지만 생각해볼 문제인 것 같다. 심플하되 눈에 띄어야 된다.
개선점 및 리마인드