0

0

calc怎么用?css3 calc()函数的使用总结

青灯夜游

青灯夜游

发布时间:2018-11-01 13:34:31

|

28559人浏览过

|

来源于php中文网

原创

calc是什么意思?怎么使用?本篇文章给大家带来的内容是介绍css3中的calc()函数是什么,有什么用,如何使用。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。

calc怎么用?css3 calc()函数的使用总结

css3中的calc()是什么?可以做什么?

calc()从字面看我们可以把它理解为一个function函数。其实calc就是英文单词calculate(计算)的缩写;它是一个css3新增的功能,可以用来指定元素的长度,动态计算长度值。(推荐学习:CSS3手册

在CSS3中calc()函数可以允许我们对属性值执行数学运算。

例如,我们可以使用calc()函数指定宽度值为两个或更多数值相加的结果,而不是把元素宽度值声明为一个静态像素值。

立即学习前端免费学习笔记(深入)”;

.demo {
    width: calc(100px + 50px);
}

为什么要使用calc()?

如果你使用过像sass这样的css预处理器的话,那么你可能会遇到如下的例子:

.demo{
    width: 100px + 50px;
}

// 使用SASS变量
$width-one: 100px;
$width-two: 50px;
.bar {
    width: $width-one + $width-two;
}

然而,calc()函数提供了一个很好的解决方案,它有两个好处。首先,我们可以组合不同的单位。具体来说,就是我们可以混合使用各种单位来进行计算,如百分比、px、em、rem等单位都可以混在一起使用。例如,我们可以创建一个表达式,它将从百分比值中减去像素值。

.demo {
    width: calc(100% - 50px);
}

在此示例中,.demo元素的宽度始终小于其父宽度的100%。

其次,使用calc()后,计算值是表达式本身,而不是表达式的结果值。这样在使用css预处理器执行数学表达式时,给予浏览器的值是表达式的结果值。

// 在SCSS中指定值
.demo {
    width: 100px + 50px;
}
// 浏览器中编译的CSS及其计算值
.demo {
    width: 150px;
}

使用calc()函数,浏览器解析的值是实际的calc()表达式。

// 在CSS中指定值
.demo {
    width: calc(100% - 50px);
}
//浏览器的计算值
.demo {
    width: calc(100% - 50px);
}

这意味着浏览器中的值可以更加动态,并且可以随着视图的变化而改变。我们可以有一个元素(值为:视图高度减去绝对值),它会随着视图的变化而改变。

<span style="font-size: 20px;"><strong>calc()</strong></span>函数的使用

calc()函数可以使用数字属性值来执行加、减、乘、除,四则运算。具体而言,它可以被使用在

这里有一些例子 :

.demo {
    width: calc(50vmax + 3rem);
    padding: calc(1vw + 1em);
    transform: rotate( calc(1turn + 28deg) );
    background: hsl(100, calc(3 * 20%), 40%);
    font-size: calc(50vw / 3);
}

注:

Unscreen
Unscreen

AI智能视频背景移除工具

下载

使用“+”和“-”时,其前后必须要有空格,如"widht: calc(12%+5em)"这种没有空格的写法是错误的;

使用“*”和“/”时,其前后可以没有空格,但建议留有空格。

calc()嵌套使用

calc()函数可以嵌套使用。但是,内部函数将被视为简单的括号表达式。举例来说,以下嵌套表达式 :

.demo  {
    width: calc( 100% / calc(100px * 2) );
}

相当于:

.demo  {
    width: calc( 100% / (100px * 2) );
}

下面我们通过一个简单的例子来看看calc()函数的使用

示例:居中元素(假设.demo盒子的高度和宽度都为300px)

.demo {    
     position: absolute    
     top: calc(50% - 150px);    
     left: calc(50% - 150px);
}

这就相当于:

.demo {    
     position: absolute;   
     top: 50%;    
     left: 50%;    
     marging-top: -150px;    
     margin-left: -150px;
}

calc()函数的兼容性

1.jpg

可以看出浏览器对于calc()函数的支持度还是不错的。

而对于不支持的浏览器来说,calc()函数将会把整个表达式给忽略掉。这就意味着我们将必须提供一个静态值给不支持的浏览器使用。

.demo{
width: 90%; /*非支持浏览器设置静态值*/
width: calc(100% - 50px);
}

总结:calc()函数在各种情况下都是很有用的,大家可以自己动手试试看,加深理解,希望能对大家的学习有所帮助。

相关推荐:

1、 php中文网视频教程:CSS3教程

2、php中文网特效下载:css3特效代码

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
css3教程
css3教程

php中文网为大家提供css3教程合集,CSS3的语法是建立在CSS原先版本基础上的,它允许使用者在标签中指定特定的HTML元素而不必使用多余的class、ID或JavaScript。php中文网还为大家带来css3的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

426

2023.06.14

有哪些css3渐变属性
有哪些css3渐变属性

css3中渐变属性有linear-gradient、radial-gradient、conic-gradient、repeating-linear-gradient、repeating-radial-gradient等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

143

2023.11.01

Sass和less的区别
Sass和less的区别

Sass和less的区别有语法差异、变量和混合器的定义方式、导入方式、运算符的支持、扩展性等。本专题为大家提供Sass和less相关的文章、下载、课程内容,供大家免费下载体验。

216

2023.10.12

数据类型有哪几种
数据类型有哪几种

数据类型有整型、浮点型、字符型、字符串型、布尔型、数组、结构体和枚举等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

337

2023.10.31

php数据类型
php数据类型

本专题整合了php数据类型相关内容,阅读专题下面的文章了解更多详细内容。

224

2025.10.31

c语言 数据类型
c语言 数据类型

本专题整合了c语言数据类型相关内容,阅读专题下面的文章了解更多详细内容。

138

2026.02.12

length函数用法
length函数用法

length函数用于返回指定字符串的字符数或字节数。可以用于计算字符串的长度,以便在查询和处理字符串数据时进行操作和判断。 需要注意的是length函数计算的是字符串的字符数,而不是字节数。对于多字节字符集,一个字符可能由多个字节组成。因此,length函数在计算字符串长度时会将多字节字符作为一个字符来计算。更多关于length函数的用法,大家可以阅读本专题下面的文章。

954

2023.09.19

function是什么
function是什么

function是函数的意思,是一段具有特定功能的可重复使用的代码块,是程序的基本组成单元之一,可以接受输入参数,执行特定的操作,并返回结果。本专题为大家提供function是什么的相关的文章、下载、课程内容,供大家免费下载体验。

499

2023.08.04

C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

3

2026.03.11

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
CSS3 教程
CSS3 教程

共18课时 | 7万人学习

HTML5/CSS3/JavaScript/ES6入门课程
HTML5/CSS3/JavaScript/ES6入门课程

共102课时 | 7.3万人学习

HTML+CSS基础与实战
HTML+CSS基础与实战

共132课时 | 12.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号