본문 바로가기
Frontend/CSS

CSS에서 계산을 해보자 (calc())

by 코딩쥐 2024. 7. 13.

calc()를 사용하여 CSS 속성 값으로 계산식을 지정할 수 있다. 덧셈(+), 뺄셈(-), 나눗셈(/), 곱셈(*)이 가능하며 length, frequency, angle, time, percentage, number, integer을 받는 속성의 값으로 사용할 수 있다. 숫자와 연산자 사이는 반드시 띄어쓰기를 해야한다. 

  • calc(숫자 연산자 숫자)

 

아래의 예제는 div들의 width를 100%에서 20% 뺀 값으로 지정했고, height를 100% 에서 3을 나눈 값으로 지정한 예제다.

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        :root{
            --h1-color: rgb(168, 0, 0);
            --background-color: lightgray;
            --box-border: 1px solid rgb(70, 70, 70);
            --box-padding: 10px;
            --width: 100%;
        }

        div{
            background-color: var(--background-color);
            border: var(--box-border);
            padding: var(--box-padding);
            margin: 10px auto;
            width: calc(var(--width) - 20%);
            height: calc(100vh / 3);
        }

        h1{
            color:var(--h1-color);
        }
    </style>
</head>
<body>
    <div id="div1">
        <h1>공지사항</h1>
        <p>아래와 같은 사항에 대해 공지를 합니다.</p>
    </div>
    <div id="div2">
        <h1>문의사항</h1>
        <p>문의사항에 대해서는 관리실로 문의해주세요.</p>
    </div>
</body>

</html>

 

아래의 사진처럼 calc()를 통해서 창의 크기가 변경되어도 계산식에 의해 div의 양쪽 여백이 유지되는 것을 볼 수 있다.