1.calc

calc() 函数用于动态计算长度值。
● 需要注意的是,运算符前后都需要保留一个空格,例如:width: calc(100% - 10px);
● 任何长度值都可以使用calc()函数进行计算;
● calc()函数支持 “+”, “-”, “*”, “/” 运算;
● calc()函数使用标准的数学运算优先级规则;
css语法:

 calc(expression)
width:calc(100% - 80px)

涉及兼容问题:
calc()对大家来说,或许很陌生,不太会相信calc()是css中的部分。因为看其外表像个函数,既然是函数为何又出现在CSS中呢?

calc() 函数用于动态计算长度值。

需要注意的是,运算符前后都需要保留一个空格,例如:width: calc(100% - 10px);
任何长度值都可以使用calc()函数进行计算;
calc()函数支持 “+”, “-”, “*”, “/” 运算;
calc()函数使用标准的数学运算优先级规则;

问题
width: calc(100vh - 50px);
// 编译后
width: calc(50vh);
解决方法
width: calc(~"100vh - 50px");

2.support

了解到了@support的这个属性,记录下:
CSS中的@support主要是用于检测浏览器是否支持CSS的某个属性,其实就是条件判断,如果支持某个属性,你可以写一套样式,如果不支持某个属性,你也可以提供另外一套样式作为替补。但是这里有一点需要注意的是:@support对于浏览器的版本也是有要求的,不是说所有的浏览器以及其所有的版本都是支持@support的。
下面就来说一下@support的用法:

1.基本语法是这样的:
@support(prop:value){ /*自己的样式*/ } @supports (display: flex) { div { display: flex; }}
//注释:如果浏览器支持display:flex属性的话,那么div的样式就是display:flex
2.逻辑操作符:“not” 的用法
 @supports not (display: flex) { div { float: right; }}
// 注释:如果浏览器不支持display:flex属性的话,那么div的样式就是display:right
3.逻辑操作符:“and”的用法
@supports (display: flex) and ( box-shadow: 2px 2px 2px black ) { /*自己的样式*/ }
//注释:如果浏览器支持display:flex和box-shadow的属性,就执行里面自己的样式
4.逻辑操作符:“or” 的用法
@supports (display: -webkit-flex) or (display: -moz-flex) or(display: flex) { /*自己的样式 */ }
//注释:如果浏览器支持其中一个就可以执行里面自己的样式
5.混用的例子

“or”和“and”混用,在@supports中“or”和“and”混用时,必须使用括号()来区分其优先级


@supports ((transition-property: color) or (animation-name: foo)) and (transform: rotate(10deg)) { /*自己的样式 */ }
@supports (transition-property: color) or ((animation-name: foo) and (transform: rotate(10deg))) { /*自己的样式 */ }
//“or”、“and” 和 “not” 混用@supports (display: grid) and (not (transition-property: color) or (animation-name: foo)){ /*自己的样式 */ }

3.media

定义和使用

使用 @media 查询,你可以针对不同的媒体类型定义不同的样式。

@media 可以针对不同的屏幕尺寸设置不同的样式,特别是如果你需要设置设计响应式的页面,@media 是非常有用的。
当你重置浏览器大小的过程中,页面也会根据浏览器的宽度和高度重新渲染页面。

CSS 语法
 @media mediatype and|not|only (media feature) { CSS-Code; }

实例
使用 @media 查询来制作响应式设计:

 @media only screen and (max-width: 500px) { .gridmenu { width:100%; } .gridmain { width:100%; } .gridright { width:100%; } }
CSS3 @media 用法总结
//语法:
@media mediatype and | not | only (media feature) { css-code; }
//也可以针对不同的媒体使用不同的stylesheets:
<link rel="stylesheet" media="mediatype and|not|only (media feature)" href="mystylesheet.css">
一、首先是标签
//width = device-width:宽度等于当前设备的宽度
//initial-scale:初始的缩放比例(默认设置为1.0)
//minimum-scale:允许用户缩放到的最小比例(默认设置为1.0)
//maximum-scale:允许用户缩放到的最大比例(默认设置为1.0)
//user-scalable:用户是否可以手动缩放(默认设置为no,因为我们不希望用户放大缩小页面)
<meta name="viewport" content="width=device-width, initial-scale=1.0,
maximum-scale=1.0, user-scalable=no">
二、标签中引入(CSS2 media)
//其实并不是只有CSS3才支持Media的用法,早在CSS2开始就已经支持Media,具体用法,就是在HTML页面的head标签中插入如下代码:
//例如我们想知道现在的移动设备是不是纵向放置的显示屏,可以这样写:<link rel="stylesheet" type="text/css" media="screen and (orientation:portrait)" ;href="style.css">//页面宽度小于960的执行指定的样式文件:<link rel="stylesheet" type="text/css" media="screen and (max-width:960px)" href="style.css">//既然CSS2可以实现CSS的这个效果为什么不用这个方法呢,很多人应该会问,但是上面这个方法,最大的弊端是他会增加页面http的请求次数,增加了页面负担,我们用CSS3把样式都写在一个文件里面才是最佳的方法。
//下面来解释一下遇到冲突时的机制:<link rel="stylesheet" href="styleA.css" media="screen and (min-width: 800px)">
<link rel="stylesheet" href="styleB.css" media="screen and (min-width: 600px) and (max-width: 800px)">
<link rel="stylesheet" href="styleC.css" media="screen and (max-width: 600px)">
//上面将设备分成3种,分别是宽度大于800px时,应用 styleA ,宽度在600px到800px之间时应用 styleB ,以
//及宽度小于600px时应用 styleC 。那假如宽度正好等于800px时该应用那个样式?是 styleB,因为前两条表达
//式都成立,按CSS默认优先级规则后者覆盖了前者。
//因此,为了避免冲突,这个例子正常情况应该这样写:
<link rel="stylesheet" href="styleA.css" media="screen">
<link rel="stylesheet" href="styleB.css" media="screen and (max-width: 800px)">
<link rel="stylesheet" href="styleC.css" media="screen and (max-width: 600px)">
三、回归CSS3 @media
//上面我们大概讲了下CSS2的媒体查询用法,现在我们重新回到CSS3的媒体查询,在第一段代码上面我用的是小于
//960px的尺寸的写法,那现在我们来实现等于960px尺寸的代码,以下代码需要写在style标签或者css文件中:
@media screen and (max-device-width:960px){body{background:red;}
}
//然后就是当浏览器尺寸大于960px时候的代码了:
@media screen and (min-width:960px){ body{background:orange;}
}
//我们还可以混合使用上面的用法:@media screen and (min-width:960px) and (max-width:1200px){body{background:yellow;}
}
//上面的这段代码的意思是当页面宽度大于960px小于1200px的时候执行下面的CSS。
四、Media所有参数汇总
width:浏览器可视宽度。
height:浏览器可视高度。
device-width:设备屏幕的宽度。
device-height:设备屏幕的高度。
orientation:检测设备目前处于横向还是纵向状态。
aspect-ratio:检测浏览器可视宽度和高度的比例。(例如:aspect-ratio:16/9)
device-aspect-ratio:检测设备的宽度和高度的比例。
color:检测颜色的位数。(例如:min-color:32就会检测设备是否拥有32位颜色)
color-index:检查设备颜色索引表中的颜色,他的值不能是负数。
monochrome:检测单色楨缓冲区域中的每个像素的位数。(这个太高级,估计咱很少会用的到)
resolution:检测屏幕或打印机的分辨率。(例如:min-resolution:300dpi或min-resolution:118dpcm)。
grid:检测输出的设备是网格的还是位图设备。
(max-width:599px)
(min-width:600px)
(orientation:portrait) 竖屏
(orientation:landscape)        横屏
(-webkit-min-device-pixel-ratio: 2) 像素比
五、媒体类型
1.all 所有媒体
2.braille 盲文触觉设备
3.embossed 盲文打印机
4.print 手持设备
5.projection 打印预览
6.screen 彩屏设备
7.speech '听觉'类似的媒体类型
8.tty 不适用像素的设备
9.tv 电视
六、关键字
1.and
2.not not关键字是用来排除某种制定的媒体类型
3.only only用来定某种特定的媒体类型
-很多时候是用来对那些不支持媒体特性但却支持媒体类型的设备
七、浏览器支持情况
IE8-
IE9+
Chrome 5+
Opera 10+
Firefox 3.6+<
Safari 4+
八、常用的几种屏幕宽度设定:
@media screen and (min-width: 1200px) {css-code;
}
@media screen and(min-width: 960px) and (max-width: 1199px) {css-code;
}
@media screen and(min-width: 768px) and (max-width: 959px) {css-code;
}
@media screen and(min-width: 480px) and (max-width: 767px) {css-code;
}
@media screen and (max-width: 479px) {css-code;
}

Css中calc, support, media各自的含义及用法相关推荐

  1. CSS中calc, support, media各自的含义及用法?

    一 support 了解到了@support的这个属性,记录下: CSS中的@support主要是用于检测浏览器是否支持CSS的某个属性,其实就是条件判断,如果支持某个属性,你可以写一套样式,如果不支 ...

  2. css中 media的用法,如何在css中正确使用@media

    如何在css中使用@media作为特定分辨率?所以我想让我的侧栏更改取决于用户分辨率,所以我使用@media.如何在css中正确使用@media 这是示例代码: @media (max-width: ...

  3. Div+CSS布局入门教程(五) 页面制作-用好border和clear 附加:1.DIV+CSS设计原则 2.DIV+CSS中标签ul ol li dl dt dd用法

    这一节里面,主要就是想告诉大家如何使用好border和clear这两个属性. 首先,如果你曾用过table制作网页,你就应该知道,如果要在表格中绘制一条虚线该如何做,那需要制作一个很小的图片来填充,其 ...

  4. html scale属性,CSS中的zoom属性和scale属性的用法及区别

    CSS中的zoom属性和scale属性的用法及区别 CSS中的zoom属性和scale属性的用法及区别是什么呢?以下是小编整理的相关内容,欢迎阅读学习! zoom 属性 语法: zoom:normal ...

  5. 关于css中“点“,“井号“,“逗号“,“空格“,“冒号“的用法

    详解css中"点","井号","逗号","空格","冒号"的用法_三级小野怪的专栏-CSDN博客bo ...

  6. UML类图中各种箭头和线条的含义和用法(转)

    UML类图中箭头和线条的含义和用法 1.UML中关系 本节向大家学习一下UML箭头.线条代表的意义,UML中关系主要有依赖,聚合,合成,泛化和实现等,下面就让我们来看一下这些关系如何用UML箭头和线条 ...

  7. css中calc()方法的使用

    呈现出来的效果是: 里面的盒子超出了外面的父级盒子 为了使子级的宽度不超出父级 怎么办? 第一种方法 第二种方法: 另一个例子 在calc中使用自定义的方法 转载于:https://blog.51ct ...

  8. DIV+CSS中标签ul ol li dl dt dd用法

    ul ol li dl dt dd都是DIV+CSS做网页长用的东西,相当于一棵树的树技,下面就了解一下这些东西的全体用法,本人用dd,dt,dd用得很少,懂得结合使用对做架构是很有好处的哦! DIV ...

  9. mysql 中的then_mysql中case when then end的含义和用法

    参见这篇博客:https://blog.csdn.net/rongtaoup/article/details/82183743 case when then else end 语句用于查询满足多种条件 ...

最新文章

  1. 关系抽取论文总结(relation extraction)不断更新
  2. oracle 11g rac手册(第2版) 高清,Oracle Database11g RAC手册(第2版)_IT教程网
  3. 【BZOJ-3578】GTY的人类基因组计划2 set + map + Hash 乱搞
  4. java 深克隆_Java实现深克隆的两种方式
  5. 从薪资、需求来分析,武汉Java开发就业前景好不好?
  6. 【easyui】easyui datagrid加载成功之后选定并获取首行数据
  7. linux配置vscodec运行环境,Linux 下 VSCode c/c++环境配置
  8. ElasticSearch的初级安装
  9. 解决openfire在使用MySQL数据库后的中文乱码问题(转)
  10. 同事经常蹭我的车,我该怎么拒绝?
  11. 能不能在FOR循环中执行SQL?
  12. Struts第八篇【资源国际化、对比JSP的资源国际化】
  13. python基础系列二:列表
  14. 电脑有网络,但所有浏览器网页都打不开,是怎么回事?
  15. CreateFile 错误码
  16. VC中用内存映射文件处理大文件
  17. 分布式算法 Paxos 的直观解释 (TL;DR)
  18. 如何删除word空白页技巧汇总
  19. 读PPK谈javascript
  20. 本地项目转git项目的详细操作方法

热门文章

  1. bingo小游戏(圈圈叉叉小游戏)python
  2. 书写我的人生回忆录-这应该是给父母最好的礼物
  3. 方案2 互动广告之车展 汽车 产品 广告
  4. CSS3------CSS大结局
  5. 评论:网瘾何以成了精神病
  6. Python--之圣诞树
  7. cancelbubble和stoppraopagation区别
  8. 计算机二级Web(1):Web技术基础
  9. Facial Expression Recognition by De-expression Residue Learning-论文笔记
  10. 用AutoIT 上传图片