CSS之calc()使用

1.什么是calc()

calc()从字面我们可以把他理解为一个函数function。其实calc是英文单词calculate(计算)的缩写,是css3的一个新增的功能,用来指定元素的长度

2.calc()能做什么?

calc()能让你给元素的值做计算,你可以给一个div元素结合百分比、em、px和rem单位值计算出其宽度或者高度,比如说“width:calc(50% + 2em)”,这样一来你就不用考虑元素DIV的宽度值到底是多少,而把这个烦人的任务交由浏览器去计算

3.calc()语法

calc()语法非常简单,就像我们小时候学加 (+)、减(-)、乘(*)、除(/)一样,使用数学表达式来表示

这里写图片描述

4.calc()的运算规则

  • 使用“+”、“-”、“*” 和 “/”四则运算
  • 可以使用百分比、px、em、rem等单位
  • 可以混合使用各种单位进行计算
  • 表达式中有“+”和“-”时,其前后必须要有空格,如”widht: calc(12%+5em)”这种没有空格的写法是错误的
  • 表达式中有“*”和“/”时,其前后可以没有空格,但建议留有空格

5.实例:我们一起来看一个自适应布局的例子

在这个布局中,我采用了自适应布局。整个布局包含了“头部”、“主内容”、“边栏”和“脚部”,并且“主内容”居左,“边栏”靠右

这里写图片描述

这里写图片描述

1.在body中设置一个内距,并附上一些基本的样式,大家可以根据自己需要进行不同的设置

这里写图片描述

2.设置主容器“wrapper”的样式

主容器的宽度是“100% - 20px * 2”,并且水平居中,给不支持calc()的浏览器设置了一个固定宽度值“1024px”

这里写图片描述

3.给header和footer设置样式

这个例子中的header和footer很简单,给他们添加了一个内距为20px,其他就是一些基本的样式设置,那么其对应的宽度应该是”100% - 20px * 2”

这里写图片描述

4.给主内容设置样式

给主内容设置了一个8px的边框,20px的内距,并且向左浮动,同时设置了一个向右的外边距“20”px,关键之处,我们主内容占容器宽度的75%,这样一来,主内容的宽度应该是“75% - 8px * 2 - 20px * 2”

这里写图片描述

5.设置右边栏样式

给边栏设置了一个25%的宽度,其除了包含8px的边框,10px的内距外,还有主内容外距20px也要去掉,不然整个宽度与容器会相差20px,换句话说就会撑破容器掉下来。因此边栏的实际宽度应该是”25% - 10px * 2 - 8px * 2 -20px”

这里写图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/407426.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

显示当前行号、文件名和函数名

在编程时&#xff0c;有时需要知道当前的代码是在第几行&#xff0c;当前文件名是什么&#xff0c;以及当前执行的是哪个函数&#xff1f;下面的代码可以轻松地完成这种功能&#xff1a; #include <stdio.h>void test(){printf("Line:%d, File:%s, Function:%s\n&q…

百安俱乐部关于“BotNet专题讨论”资料

•BotNet专题讨论 演讲者&#xff1a;叶子 典型BotNet案件 •什么是BotNet •BotNet原理及其危害 BotNet的发展BotNet的形成 BotNet的传播 BotNet的控制 BotNet的危害•BotNet防范与处理 •BotNet的发展趋势分析 •典型BotNet程序的技术分析转载于:https://blog.51cto.com…

Vue给项目添加进度条

前言 在PC端项目的开发过程中&#xff0c;有时我们需要给项目添加一个进度条来展示界面是否已经完成加载的情况。那么如何才能成功添加进度条呢&#xff1f; 添加方式 用法1: 在拦截器中使用 1.引入插件Nprogress npm install --save nprogress 2.在main.js中引入对应的包文…

显示当前行号、文件名和函数名(二)

为了测试__FILE__, __LINE__, __FUNCTION__&#xff0c; 又写了一个C版本的测试程序&#xff0c;源码如下&#xff1a; #include <iostream> #include <string>using namespace std;class CUser { private:int m_nId;string m_sName;public:CUser(int id, string …

文件的删除和文件信息的读取

文件删除代码&#xff1a;<table border"1"> <tr> <td colspan"2" style"color: #660066;"> 删除文件&#xff1a; </td> </tr> …

vue与elementUI中给el-input绑定键盘按键--按键修饰符

vue怎么写键盘事件 vue允许将按键值作为修饰符来使用&#xff0c;如监听回车事件&#xff0c;有两种写法&#xff0c;如下代码&#xff1a; <input type"text" keyup.13"console.log($event)"></input><input type"text" keyup…

很好的理解遗传算法的样例

遗传算法的手工模拟计算演示样例 为更好地理解遗传算法的运算过程&#xff0c;以下用手工计算来简单地模拟遗传算法的各 个主要运行步骤。 例&#xff1a;求下述二元函数的最大值&#xff1a; (1) 个体编码 遗传算法的运算对象是表示个体的符号串&#xff0…

CSS之容器按比例缩放

1.对于图片&#xff0c;默认只设置图片的一个宽或高&#xff0c;那么另一个值就会按照图片真实比例缩放 图片因为本身存在宽高比&#xff0c;所以设置一个值&#xff0c;另一个值自动也就根据真实的比例对应上 2.但跟pc的不一样&#xff0c;移动端的图片很多都不是固定的宽高的…

[转载]vs2008下安装boost

vs2008下安装boost 1.下载boost_1_34_1压缩文件&#xff0c;解压缩到d&#xff1a;\boost_1_34_1\目录下 2.编译bjam 从vs2008的工具菜单进入命令提示窗口"Visual Studio 2008 Command Prompt"&#xff08;一定要从这进&#xff09;&#xff0c;cd到c:\boost_1_34_1\…

文件上传命令rz和下载命令sz的安装

一、xshell工具简介 Xshell 是一个强大的安全终端模拟软件&#xff0c;它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。其可以在Windows界面下用来访问远端不同系统下的服务器&#xff0c;从而比较好的达到远程控制终端的目的。 二、xshell连接虚拟机 1.打开xs…

python IDE比较与推荐

我先给一个初步的表格吧&#xff0c;大家如果有什么意见&#xff0c;或有补充&#xff0c;欢迎提出。有些我没有用过&#xff0c;先不写了。以下是我使用过的python IDE:(更新与2010年1月20日)┌─────┬────┬────┬──┬────┬──┬─────┬─────…

算法系列7《CVN》

计算CVN时使用二个64位的验证密钥&#xff0c;KeyA和KeyB。 1) 计算CVN 的数据源包括&#xff1a; 主账号&#xff08;PAN&#xff09;、卡失效期和服务代码&#xff0c;从左至右顺序编排。 41234567890123458701111 2) 将上述数据源扩展成128 位二进制数据&#xff08;不足128…

CSS之Box-sizing

W3C的标准盒模型&#xff1a; IE的传统盒模型&#xff1a; 实例&#xff1a; 1.W3C 盒子模型的范围包括 margin、border、padding、content&#xff0c;并且 content 部分不包含其他部分 2.IE 盒子模型的范围也包括 margin、border、padding、content&#xff0c;和标准 W3C 盒…

javascript学习系列(9):原数组发生变化的情况

最好的种树是十年前,其次是现在。歌谣 每天一个前端小知识 提醒你改好好学习了 知乎博主 csdn博主 b站博主 放弃很容易但是坚持一定很酷 我是歌谣 喜欢就一键三连咯 你得点赞是对歌谣最大的鼓励 1前言 在我们的日常开发中 不免会有很多需要处理数据的方法 本节主要说一说形…

阿里云设置域名解析到主机ip

A记录 使用场景 添加 A 记录可实现将域名指向 IP 地址。 设置方法 登录云解析DNS控制台在域名解析页面&#xff0c;全部域名页签下&#xff0c;单击域名&#xff0c;进入解析设置页面 在解析设置页面&#xff0c;单击 添加记录 按钮 添加记录会话框中各项参数的添加说明。 …

python fabric实现远程操作和部署

博客迁往&#xff1a;新地址 &#xff08;点击直达&#xff09; 新博客使用markdown维护&#xff0c;线下有版本号库&#xff0c;自己写的所以会定时更新同步&#xff0c;同一时候提供更好的导航和阅读体验 csdn对markdown支持不好&#xff0c;所以旧版不会花时间进行同步修订&…

[Windows]python+PyQT+Eric安装配置

From: http://www.cnblogs.com/lhj588/archive/2011/10/05/2198472.html 一、大纲内容&#xff1a; 1、预备PC环境&#xff1a; 2、预备安装程序: 2、1、下载Python3.2 2、2、下载PyQt4 2、3、下载Eric5 3、安装配置步骤&#xff1a; 3、1、安装Pyhon3.2 3、2、安装Py…

CSS之BFC

1.BFC(Block Formatting Context)是Web页面中盒模型布局的CSS渲染模式。它的定位体系属于常规文档流 2.创建一个BFC 一个新的BFC可以通过给容器添加任何一个触发BFC的CSS样式&#xff0c;如overflow: scroll, overflow: hidden, display: flex, float: left,或者 display: tabl…