calc()从字面我们可以把他理解为一个函数function。其实calc是英文单词calculate(计算)的缩写,是css3的一个新增的功能,用来指定元素的长度。...calc()能让你给元素的做计算,你可以给一个div元素,使用百分比、em、px和rem单位值计算出其宽度或者高度,比如说“width:calc(50% + 2em)”,这样一来你就不用考虑元素DIV的宽度值到底是多少...第三步,calc()的运用 为了解决撑破容器的问题,以前我们只能去计算div.box的宽度,用容器宽度减去padding和border的值,但有时候,我们苦于不知道元素的总宽度,比如说是自适应的布局,只知道一个百分值...,但其他的值又是px之类的值,这就是难点,死卡住了。...知道总宽度是100%,在这个基础上减去boder的宽度(5px * 2 = 10px),在减去padding的宽度(10px * 2 = 20px),即"100% - (10px + 5px) * 2
video/BV1D5411H7Tc 2 知识点 2.1 CSS calc() 函数 CSS calc() 函数用于动态计算长度值。...从外层的阴影(开始时)改变阴影内侧阴影 2.4 CSS3 box-sizing 属性 Box-sizing 属性允许你以某种方式定义某些元素,以适应指定区域。...|border-box|inherit: 值 说明 content-box 这是 CSS2.1 指定的宽度和高度的行为。...也就是说,对元素指定宽度和高度包括了 padding 和 border 。通过从已设定的宽度和高度分别减去边框和内边距才能得到内容的宽度和高度。...,可以改变任意多的样式任意多的次数 用百分比来规定变化发生的时间,或用 from 和 to,等同于 0% 和 100% 动画常见属性 下面的表格列出了 @keyframes 规则和所有动画属性: ?
然后我们用它来得到一个新的宽度值,用一个单位乘以 1px 变成 3px。 3. 使用 calc() 转换字体大小 假设有这样一个场景,我们希望段落的字体在桌面屏幕上很大,但在移动屏幕上很小。...嵌套的 CSS 函数用于将屏幕的全宽度(100%)除以 5,然后将结果减去 20px,以得到我们的最小宽度的最终值。...对于我们的高度,我们从 100% 的高度减去顶部和底部 margin 的总值(20px),结果是一个完美对齐的方框。...假设我们有两个按钮,每个按钮都有自己的类,像这样: button 1 <button...它们包括: 当我们处理 CSS 变量时 为了得到一个新的值 用于不同单元之间的计算,这是预处理器无法做到的 定位 调整我们网站的结构和其他元素 当我们想避免重复做相同的计算时 我们在本文中介绍的大多数示例都属于上述类别
只需级行css就解决了 核心css代码,锁死视频比例16:9 embed { height: calc(9 * 100vw/ 16);width: 100%; } 宽度设置为100%,宽度铺满父级div...【假设父级div就是真个屏幕】,高度设置为屏幕的宽度乘以9/16。...这里我得电脑端测栏加边距的宽度大约是330px,手机端的边距太小就忽略不算了 对应的css就是这样 @media only screen and (min-width:768px){ embed{height...: calc(9 * 100vw/ 16);width: 100%;} } 其实就是对于电脑端设备,在宽度设置上,提前减去330px,然后在乘9/16。...在电脑端css加入下面的东东 max-height:100vh;/*限制视频高度最大不能超过浏览器窗口高度*/ max-width:calc(16 * 100vh/ 9);/*限制视频宽度最大不能超过浏览器窗口高度的
设置该元素的偏移量,值为 50%减去宽度/高度的一半 */ left: calc(50% - 150px); top: calc(50% - 150px); } 3....float: left; /* 宽度减去左列的宽度 */ width: calc(100% - 200px); } 2. float+margin-left完成左列定宽右列自适应 步骤如下:...> 内容 左列容器开启左浮动 右列容器开启右浮动 使中间自适应的宽度为父级容器减去两个定宽的列 实现CSS代码如下: .left...使中间自适应的宽度为父级容器减去两个定宽的列 */ width: calc(100%-400px); } .right { /* 2....使中间自适应的宽度为父级容器减去两个定宽的列 */ width: calc(100%-400px); /* 3.
单列布局一般有两种形式: 一栏布局 一栏布局头部、内容、底部宽度一致 效果图 代码实现 html css header,footer{ width: 1200px; height: 100px...实现思路很简单,侧边栏宽度固定,设置绝对定位,使其脱离文档流,内容区域通过calc()函数计算剩余宽度并设置宽度,再加一个margin-left,值为侧边栏的宽度。...: calc(100% - 100px); background: red; margin-left: 100px; } flex属性 通过flex属性实现思路也很简单,将父元素设置为flex,侧边栏宽度固定...footer的flex设为0,这样footer获得其固有的高度;content的flex设为1,这样它会充满除去footer的其他部分。...下面给出一个简单的示例。
A标签伪类LVHA顺序来源: 根据元素CSS权重、特殊性分析,因为link、visited、hover、active权重特殊性均相同,所以根据使用习惯,要想让active始终有作用,需要让后者覆盖前者...选择当前元素的下一个相邻元素(必须拥有相同父元素)。 less 编译calc计算属性发生错误,解决办法: 使用~符号标记计算属性,例如,计算宽度为100%减去定长,并平分7份的值。...代码为: div{ @wid: calc(~"100% - 115px"); width: calc(~"@{wid} / 7"); } 消除table 中th,td空隙 border-collapse..."> // 本例中,box1为box2的2倍 flex中 子项设置了宽度后,优先以2个item宽度的比例去显示。...移动端字体px=>rem px=>rem rem 参考html font-size 默认16px 假设设计图宽度750px , html{ font-size:calc(100vw/75) /
设置该元素的偏移量,值为50% 减去宽度/高度的一半。...右边列宽度为父级 100%减去左列的宽度。...使中间自适应的宽度为父级容器减去两个定宽的列。...background-color: #d9480f; height: 400px; /* 使中间自适应的宽度为父级容器减去两个定宽的列 */ width: calc(100%...使用calc函数实现 使用 calc 函数实现的方式会比较简单,中间的容器最少高度为视口宽度的100% - 头部和底部两部分的高度即可完成该功能。
以后文字垂直居中要将line-height减去上下的margin值和padding值 CSS3其他特性(了解) 图片变模糊 计算盒子宽度:width:calc函数 1.CSS3滤镜: filter...语法: filter:blur( ); 里面的数值需带单位,数值越大越模糊 2.calc( )函数: calc()此函数让你在声明CSS属性值时执行一些计算....举个例子: width:calc(100%-30px); 它的意思就是盒子的宽度永远比父盒子的宽度小30px,括号里的可以使用+-*/来进行计算,但是注意运算符之间一定要有空格!!!...CSS3过渡(重点) 过渡(transition)是CSS3中具有颠覆性的特征之一,我们可以在不适用flash动画或JavaScript的情况下,当元素从一种样式转变成另一种样式时为元素添加效果.... 这也太丝滑了吧!!
; left: calc(50% - 50px); width: 100px; height: auto; animation-name: redpacket-fall...这个div元素是相对定位的,并且它的宽度是100%,高度是视口的100%,超过视口的部分会被隐藏(由于overflow: hidden)。...CSS样式CSS部分定义了一个名为redpacket的类,这个类的元素是绝对定位的,初始时在顶部(-100px),在页面中心(通过left: calc(50% - 50px)计算得出),宽100px,高自动...它有一个名为redpacket-fall的关键帧动画,这个动画会让元素从顶部落到底部,同时逐渐旋转和变透明。...createRedPacket函数:这个函数创建一个新的元素(一个图像元素),类名为“redpacket”,然后随机设置它在页面上的位置(在窗口宽度减去100px和元素宽度的中间位置),并给它一个随机的阴影效果
,父元素和子元素 123123 复制代码 wp是父元素的类名,box是子元素的类名,因为有定宽和不定宽的区别...,size用来表示指定宽度,下面是所有效果都要用到的公共代码,主要是设置颜色和宽高 注意:后面不在重复这段公共代码,只会给出相应提示 /* 公共代码 */ .wp { border: 1px solid...点击查看完整DEMO absolute + calc 这种方式也要求居中元素的宽高必须固定,所以我们为box增加size类,HTML代码如下 123123 复制代码 感谢css3带来了计算属性,既然top的百分比是基于元素的左上角,那么在减去宽度的一半就好了,代码如下 /* 此处引用上面的公共代码...(50% - 50px); left: calc(50% - 50px); } 复制代码 这种方法兼容性依赖calc的兼容性,缺点是需要知道子元素的宽高 点击查看完整DEMO absolute
我们先给出html结构: 固定宽度区 <div id="content...5.使用css3的calc计算元素宽度+浮动 calc()从字面我们可以把他理解为一个函数function。...其实calc是英文单词calculate(计算)的缩写,是css3的一个新增的功能,用来指定元素的长度。...不过calc()最大的好处就是用在流体布局上,可以通过calc()计算得到元素的宽度。...前四种方法转载自老生长谈:css实现右侧固定宽度,左侧宽度自适应。这里主要是将各种方法进行汇总。我目前了解到的方法主要是这些,如果大家还有其他方法的请留言分享
简单而言,容器查询它给予了 CSS,在不改变浏览器视口宽度的前提下,只是根据容器的宽度或者高度变化,对布局做调整的能力。...基于这个场景,我们假设我们有如下的 HTML/CSS 结构: Lorem ipsum... .g-container { position: relative; width: 300px; height: 300px; resize:...方法二:clamp + calc 大显神威 上面效果的核心在于: 如果容器的高度大于某个值,显示样式 A 如果容器的高度小于等于某个值,显示样式 B 那么想想看,如果拿容器的高度减去一个固定的高度值,会发生什么...,在元素的 bottom 属性中,100% 表示的是容器当前的高度,因此 calc(100% - 200px) 的含义就代表,容器当前高度减去一个固定高度 200px。
在 CSS 中,存在许多数学函数,这些函数能够通过简单的计算操作来生成某些属性值,例如 calc():用于计算任意长度、百分比或数值型数据,并将其作为 CSS 属性值。...设置元素的宽度为 sin(30deg) 的值 */ width: calc(sin(30deg) * 100px); /* 设置元素的高度为 cos(45deg) 的值 */ height...首先,我们实现一个黑色圆球: .g-single { width: 20px; height: 20px; background...conX),其中 X 为角度变化 如此,我们只需要动态设置 X 从 0deg 到 360deg 的变化即可,就可以得到一个圆形动画效果: 完整的代码,你可以戳这里:CodePen Demo -- CSS...其中利弊,可能不同的人会有不一样的看法。至于好坏,交给时间给出答案吧。 好了,本文到此结束,希望对你有帮助
下面给出了一个 3 x 3 网格的示例。...document.documentElement.style.setProperty('--bg-dark', '#787898'); 6、CSS Calc() 函数: CSS calc() 函数有助于在...这是一个有用的功能,有时可以成为特定 CSS 问题的最佳解决方案。CSS calc() 函数可以进行基本的数学计算,例如通过求解数学表达式来计算 HTML 元素的宽度。...CSS calc() 函数示例: 计算 HTML div 元素的宽度。....div { width: calc(100% - 100px) } 上述 div 的大小将等于 div 的父级的计算宽度减去 100px。 其他需要查看的重要 CSS 属性。
在CSS中实现 wrapper 目前我们已经了解了wrapper基础知识和优点,接下来我们来具体的看看在 CSS 如何使用它。 设置宽度 ? 实现wrapper第一件事就是要确认它的宽度。...; padding-right: 16px; } 通过添加padding,我们可以确保从左右两边得到一个16px的偏移量,即使视口的大小小于最大宽度。...important; } 这样,wrapper 的 CSS保持原样,并且使用附加的 CSS 类添加了间距。 现在,你可能会问,为什么可以在一个页面上添加多个wrapper?... 如果你不使用 CSS 变量的方式,也可以通过多加一个类来解决: <div class...padding-right: 16px; } margin-left: auto和margin-right: auto的工作方式是计算视口宽度的一半减去内容宽度。
神器的选择器 很多CSS编码习惯都是清一色的类而无相应的选择器,层层嵌套的标签都包含至少一个类。...选择器和类对比起来性能上确实没后者那么好,但如今浏览器对于CSS的解析速度已得到大大的提升,完全可忽略选择器那丁点的性能问题。 可是CSS模块众多,依次推出的选择器也很多。...清晰易读:对于那些结构与行为分离的写法,使用sass/less编写属性时结构会更清晰易读,减少很多无用或少用的类,保持css文件的整洁性和观赏性 确保一致:减少修改类而有可能导致样式失效的问题,有时修改类但未确保...正是伪元素能解决一些可不添加其他标签而起到占位作用,笔者才称伪元素为“添油加醋”。 上述选择器分类有提及伪元素,狭义上来说选择器除了伪元素,其他都是伪类。...声明从上到下(实际效果是从右上角到左下角)渐变着色 由于::before从旋转后的X轴往左平移过去,所以其着色效果与一致 由于::after从旋转后的Y轴往上平移过去
从HTML/CSS/JS前端三剑客的定位来看,HTML映射网页的「结构」,CSS映射网页的「表现」,JS映射网页的「行为」。...从布局排版的特征可知它属于表现范畴,因此笔者认为大部分布局排版都能使用纯CSS完成,无需JS介入。...基础选择器 选择器 别名 说明 版本 常用 tag 标签选择器 指定类型的标签 1 √ #id ID选择器 指定身份的标签 1 √ .class 类选择器 指定类名的标签 1 √ * 通配选择器 所有类型的标签....elem { padding-right: calc(100vw - 100%); } 不直接声明padding-right为滚动条宽度是因为每个浏览器的默认滚动条宽度都可能不一致。...有了calc()做保障就可迅速实现一些与视窗尺寸相关的布局了。例如实现一个视窗宽度都为50%的弹窗。
一、可替换元素实现固定宽高比 可替换元素(如、)和其他元素不同,它们本身有像素宽度和高度的概念。所以如果想实现这一类元素固定宽高比,就比较简单。..." alt=""> .img-wrapper { width: 50vw; margin: 100px auto; padding: 10px; border: 5px...HTML: CSS: .wrapper...此外,尺寸比例,我们也可以通过calc()来计算,这样比较灵活。我们可以快速的写出任意比例,如padding-bottom: calc(33 / 17 * 100%);。...如果最后你的答案是这样的,那么你不仅完善了老师的题设,给出了各种情况的解决方案,最后还点出了标准中正在制定的新方案。
领取专属 10元无门槛券
手把手带您无忧上云