Toy Project - 계산기 만들기(CSS - grid)

유다송·2022년 9월 19일
0

JavaScript

목록 보기
1/8

HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="css/style.css">
    <script src="calculator.js" defer></script>
    <title>Calculator</title>
</head>
<body>
    <div class="container">
        <input type="text" value="000" disabled>
        <div class="button">
            <button class="ac">AC</button>            
            <button>&divide;</button>
            <button>7</button>
            <button>8</button>
            <button>9</button>
            <button>&times;</button>
            <button>4</button>
            <button>5</button>
            <button>6</button>
            <button>-</button>
            <button>1</button>
            <button>2</button>
            <button>3</button>
            <button>+</button>
            <button class="zero">0</button>            
            <button>.</button>
            <button>=</button>
        </div>
    </div>  
</body>
</html>

CSS

@import "reset.css";

.container {
    width: 300px;

}

.button {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.ac {
    grid-column: 1/4;
    background: #6A6A6C;
}

.zero {
    grid-column: 1/3;
}

* {
    box-sizing: border-box;
    color: white;   
}

input, button {
    height: 70px;
    outline: none;
}
input {
    width: 100%;
    text-align: right;
    border: none;    
    background: #444445;
    padding-right: 15px;
    font-size: 50px;
}

button {
    background: #828284;
    border: 0.1px solid #454448;
    font-size: 2rem;
}

button:nth-child(4n+2), button:last-child  {
    background-color: orange;
}
button:hover {    
    opacity: .5;
}

CSS - grid

  • flex는 기본적으로 1차원이다.
  • grid는 2차원.
  • 필요에 따라서 flex와 grid를 섞어서 사용해주면 좋다.
  • 부모 컨테이너에 grid로 설정해주면 자식을 전부다 grid cell로 변한다.
  • 부모 : grid-template-columns, grid-template-rows, grid-template-areas, grid-gap
  • 자식 : grid-columns-start, grid-columns-end, grid-row-start, grid-row-end, grid-area

0개의 댓글