1. container 를 둘러싼 frame 이 있다.
2. container 는 크게 4가지 영역으로 나뉜다.
space, nameTag, screen, buttons
와이어프레임은 아래와 같다.
HTML
<div class="frame">
<div class="container">
<div class="space"></div>
<div class="nameTag"></div>
<div class="screen"></div>
<div class="buttons"></div>
</div>
</div>
CSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: system-ui, -apple-system, BlinkMacSystemFont,
'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans',
'Helvetica Neue', sans-serif;
}
body {
display: flex;
justify-content: center;
align-items: center;
}
.frame {
display: flex;
justify-content: center;
align-items: center;
margin-top: 100px;
height: 700px;
width: 400px;
border: 1px solid red;
}
.container {
display: flex;
flex-direction: column;
justify-content: center;
align-items: stretch;
height: 97%;
width: 92%;
border: 1px solid blue;
}
.space {
margin: 5px 5px 0px 5px;
flex-grow: 1;
border: 1px dotted black;
}
.nameTag {
margin: 0px 5px 0px 5px;
flex-grow: 1.2;
border: 1px dotted black;
}
.screen {
margin: 5px;
flex-grow: 1.5;
border: 1px dotted black;
}
.buttons {
margin: 5px;
flex-grow: 6;
border: 1px dotted black;
}
3. nameTag 는 sharp-logo 와 model-name 으로 구성되어 있다.
4. buttons 는 memory 와 calculation 으로 구성되어 있다.
5. memory 는 mName 과 mBut 으로 구성되어 있다.
6. mBut 은 5개의 버튼(smll_blue_button) 으로 구성되어 있다. (1 X 5)
.mBut {
flex-grow: 7;
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
place-items: center;
padding: 0px;
}
.small_blue_button {
border: 1px solid blue;
margin: 0px 10px;
height: 20px;
width: 40px;
}
* display: grid; 를 사용해서 1행 5열의 구성을 했다.
7. calculation 은 20개의 버튼(calBut) 으로 구성되어 있다. (4 X 5)
.calculation {
display: grid;
grid-template-columns: repeat(5, 1fr);
place-items: center;
flex-grow: 8.5;
margin: 5px;
border: 1px solid black;
}
.calBut {
display: flex;
justify-content: center;
align-items: center;
border: 1px solid blue;
margin: -20px 0px;
height: 50px;
width: 50px;
font-size: 24px;
}
8. 색칠한다 (색상 추출은 https://ko.rakko.tools/tools/64/)
9. 각 div의 테두리 색 변경, C 버튼 (calBut red) 색상 변경
10. 버튼 테두리 radius 주기
11. 왼쪽 아래 방향으로 그림자 넣기
12. 마무리
얼추 비슷하게 됐지만 SHARP 를 로고로 바꾸고 숫자 0 을 디지털 넘버 폰트로 바꾸면 더 좋을 것 같다.
'부트캠프 > TIL' 카테고리의 다른 글
코드스테이츠 프론트엔드 부트캠프 Day 10 #3 npm (0) | 2022.12.28 |
---|---|
코드스테이츠 프론트엔드 부트캠프 day 10 #1 npm과 package.json (0) | 2022.12.28 |
코드스테이츠 프론트엔드 부트캠프 Day 6 - HTML & CSS 와이어 프레임, 영역 나누기, 레이아웃 (2) | 2022.12.22 |
코드스테이츠 프론트엔드 부트캠프 43기 Day 4 - CSS margin & padding, box-sizing: border-box (2) | 2022.12.21 |
코드스테이츠 프론트엔드 부트캠프 43기 Day 3 - Date 객체, for ... of, 최댓값 찾기 등 (2) | 2022.12.20 |