Dev Blog

스크립트 & 소스코드 공유

실무에서 유용하게 쓰는 스크립트와 코드 조각을 블로그 게시판으로 저장하고 공유합니다.

CSS CSS3 calc():CSS 实现简单的数学运算(加减乘除)

페이지 정보

조회 188회 작성일 20-04-28 14:56
CSS3의 calc() 함수를 이용해 JavaScript 없이 스타일 시트 안에서 사칙연산을 수행하는 방법을 소개한다. width: calc(100% - 100px) 같은 기본 사용법과 3단 등폭 레이아웃 예제, + · - · * · / 연산 규칙, px·em·rem·% 단위 혼용 계산, 브라우저별 지원 현황, 그리고 연산자 앞뒤에 공백이 없으면 적용되지 않는 주의사항까지 정리했다.

多好的东西啊,不用js,一个css就解决了。

.box{
border:1px solid #ddd;
width:calc(100% - 100px);
background:#9AC8EB;
}

3栏等宽布局

.box{
margin-left:20px;
width:calc(100%/3 - 20px);
}
.box:nth-child(3n){
margin-left:0;
}

运算规则

calc()使用通用的数学运算规则,但是也提供更智能的功能:

使用“+”“-”“*”“/”四则运算;

可以使用百分比、px、em、rem等单位;

可以混合使用各种单位进行计算。

浏览器支持

firefox 4.0+已经开支支持calc()功能,不过要使用-moz-calc()私有属性,chrome从19 dev版,也开始支持私有的-webkit-calc()写法,IE9这次则牛逼了一次,原生支持标准的不带前缀的写法了。Opera貌似还不支持~~

注意:

在[http://www.qianduan.net/calc-at-at-at-page-intelligent-layout.html看到的,他的原文中width:calc(100%-100px)是没有空格的,经测试无效,就像其评论中:calc()里面的表达式好像要注意格式。](http://www.qianduan.net/calc-at-at-at-page-intelligent-layout.html看到的,他的原文中width:calc(100%-100px)是没有空格的,经测试无效,就像其评论中:calc()里面的表达式好像要注意格式。)



Let's create something great together.

프로젝트 문의 및 견적 요청은 언제든 환영합니다.