html로 레이아웃을 짜다보면 객체들에게 똑같은 가로값을 주고 싶은데 계산하기 쉽지 않을때가 많습니다.
또 반응형으로 웹사이트를 만들다보면, 값을 딱 지정해 놓으면 브라우저 크기마다 다르게 설정해 줘야하는 번거로움이 있는데 이렇때 사용하면 좋은 CSS 속성중에 하나가 calc 입니다!
사용가능한 브러우저!
이정도면 크게 무리없이 사용가능할 것 같아요! (공무원분들이 많이 사용할것 같은 사이트에는 쓰기 무리가 있겠네욤)
작성 방법 예시
1
2
3
4
5
6
7
8
|
div {
width : 95%; /* calc() 를 지원하지 않는 브라우저를 위한 fallback */
width : -webkit-calc(100% - 20px); /* WebKit */
width : -moz-calc(100% - 20px); /* Firefox */
width : -ms-calc(100% - 20px); /* MS Explorer */
width : -o-calc(100% - 20px); /* Opera */
width : calc(100% - 20px); /* Standard */
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter
|
cs |
(가로값을 100%에서 20px를 뺀 값으로 지정하겠다는 뜻)
특징
1. +, - , *, / 사칙연산 사용가능
2. 왼쪽에서 오른쪽으로 계산(곱셈,나눗셈 먼저 계산)
3. 덧셈, 뺄셈은 좌우 띄어쓰기 필수!
4. 변수도 사용가능
사용 예시
보통 div를 홀 수 단위로 띄울때 발생하는 문제를 해결할 수 있어 아주 편리하다.
이렇게 div 3개를 나란히 같은 크기로 놓고 싶은데, 가로값이 33.333333... %이란 애매한 숫자가 나온다. 그럴때 calc를 쓰면 쉽게 해결 할 수 있다.
1
2
3
4
5
6
|
div{
float: left;
width: calc(100%/3 - 20px);
margin:0 10px;
}
|
cs |
이렇게 해주면 100%에서 3으로 나눈후 20px를 뺀 나머지를 가로 값으로 지정한다는 뜻이다.
그리고 마진을 왼쪽 오른쪽 10px를 주면 아까 뺀 20px로 나눠가지기 때문에 여백을 동일하게 줄 수 있다.( 맨처음과 마지막 DIV의 양 사이드의 마진은 조정해 줄 필요가 있지만..)
calc(100%/3 - 20px); 를
3 -> 객체의 갯수
20px -> 한 객체의 양쪽 마진의 합
으로 생각하면 간편하게 사용가능할 것 같다!
'퍼블리싱 > HTML&CSS' 카테고리의 다른 글
웹 아이콘 사용하기(font awesome5 & google icon) (4) | 2020.03.17 |
---|---|
[CSS]CSS가 안먹을때 해볼만한 것들 (4) | 2020.03.16 |
구글 웹폰트 CDN 사용법 (0) | 2020.03.13 |
[css]div 가로 중앙 정렬 하는 방법 (0) | 2019.03.06 |
[CSS]float 이해하기 & clear하는 방법 (0) | 2019.02.26 |