原文地址:https://justforuse.github.io/blog/zh-cn/2018/08/supports-tutorial/

@supports是CSS3新引入的规则之一,主要用于检测当前浏览器是否支持某个CSS属性并加载具体样式.

基本使用方式:

@supports (display: grid) {.container {color: red;}
}

类似@media媒体查询,当浏览器支持display:grid这个CSS属性时才应用其中的样式

所以上述代码比如在IE9下就不会显示为红色字体。

主要用在防止旧浏览器不支持某些属性造成排版混乱的情况,使用@supports当做备选项。

此外,还支持逻辑运算符;not, and, or

例如

@supports not(display: grid){...}
@supports (display: grid) and (position: sticky){...}
@supports (display: grid) or (display: flex){...}

括号内不一定都要是“关键字”,只要是CSS语法都可以,比如:

@supports (border-radius: 4px) or (--btn-color: red){...}

上面就表示支持border-radius或者css variables就会加载其中的样式

js中也可以调用类似的方法:

if(CSS.supports('display', 'grid')){alert('it support!')
}

当然,这个支持性IE下全跪

个人觉得这其中有个很矛盾的地方,就是这个属性基本只有在“高级”浏览器下才会是生效,但“高级”浏览器的支持范围又支持大部分的CSS属性,所以觉得把他当做一个“低级”浏览器检测器倒是个不错的选择

参考链接:https://www.sitepoint.com/an-introduction-to-css-supports-rule-feature-queries/

@supports使用方法相关推荐

  1. 使用Spring Security3的四种方法概述

    使用Spring Security3的四种方法概述 那么在Spring Security3的使用中,有4种方法: 一种是全部利用配置文件,将用户.权限.资源(url)硬编码在xml文件中,已经实现过, ...

  2. CSS @Supports

    CSS @supports 指令会像 @media 查询一样出现在 CSS 代码中: @supports(prop:value) {/* more styles */ } CSS @supports ...

  3. Spring_Spring@Transactional

    Spring事务的传播行为 在service类前加上@Transactional,声明这个service所有方法需要事务管理.每一个业务方法开始时都会打开一个事务. Spring默认情况下会对运行期例 ...

  4. Spring @Transactional (一)

    Spring事务的传播行为 在service类前加上@Transactional,声明这个service所有方法需要事务管理.每一个业务方法开始时都会打开一个事务. Spring默认情况下会对运行期例 ...

  5. Java程序员从笨鸟到菜鸟之(八十)细谈Spring(九)spring+hibernate声明式事务管理详解

    声明式事务管理是spring对事务管理的最常用的方式,因为这种方式对代码的影响最小,因此也符合非侵入性的轻量级容器的概念.Spring的事务管理是通过AOP的方式来实现的,因为事务方面的代码与spri ...

  6. Spring boot+Spring Security 4配置整合实例

    本例所覆盖的内容: 1. 使用Spring Security管理用户身份认证.登录退出 2. 用户密码加密及验证 3. 采用数据库的方式实现Spring Security的remember-me功能 ...

  7. Spring的声明式事务管理

    在service类前加上@Transactional,声明这个service所有方法需要事务管理.每一个业务方法开始时都会打开一个事务. Spring默认情况下会对运行期例外(RunTimeExcep ...

  8. (九)Spring 事务开发、事务属性详解

    持久层 目录 事务回顾 Spring 控制事务的开发 Spring 中的事务属性(Transaction Attribute) 隔离属性(ISOLATION) 传播属性(PROPAGATION) 只读 ...

  9. 基于Spring Security的认证方式_编程UserDetailService_Spring Security OAuth2.0认证授权---springcloud工作笔记124

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 以前都用过springsecurity了,但是没有系统的去看过,这次就系统的看一次. 根据上面的过 ...

最新文章

  1. 2021-2027年中国托育服务行业市场研究及前瞻分析报告
  2. 不用在读长和准确性之间做选择题,PacBio发表新方法
  3. 【git效率篇】在window上面的git bash 配置永久别名 快捷方式
  4. PowerShell-Exchange:统计每天邮件收发
  5. Spring AOP之通知类别执行顺序
  6. Exchange Server 2013 OWA IIS重定向
  7. 关于java多线程堆和栈的共享问题
  8. JAVA超市综合管理信息区块链系统毕设论文
  9. 学好平面设计需要哪些技术功底?
  10. 基于RFID定位技术的精神病人员定位解决方案--新导智能
  11. 1817735-45-7,Carboxy-PEG2-sulfonic acid在EDC和HATU等活化剂存在下,末端羧酸可参与与伯胺的反应
  12. 7和7的倍数游戏答案_团建游戏大全-桌游篇
  13. vue weex 打电话
  14. 微信扫码签到系统asp源码写的,并且获取签到者位置信息入库保存
  15. [量子客]4月全球量子计算发展内参
  16. OKA通证权益解析,参与Okaleido生态建设的不二之选
  17. windows系统如何真正隐藏文件夹[转载]
  18. python中小数点后取2位(四舍五入)以及取2位(四舍五不入)的方法总结
  19. 奔驰c260语言设置方法图解,奔驰C260L中控按钮图解,C260L车内按键功能说明
  20. 记录一次使用Autowired报Nullpoint空指针异常的错误

热门文章

  1. 5-2 文件系统及其功能
  2. 初中生学计算机应用好不好就业,初中毕业学习计算机应用专业怎么样?
  3. 海天酱油开展品质革命,让中国美味走出国门
  4. mysql写错了怎么改
  5. PostGIS的Geometry Processing 几何处理2(ST_ClipByBox2D、ST_Collect、ST_ConcaveHull、ST_ConvexHull)
  6. css 设置段落样式 各种设置方式详细解释
  7. 关于Latex中png图片输出有边框/黑线的解决方法
  8. 海量存储的世界--大容量硬盘应用宝典(转)
  9. oracle sequence sql server,在SQLServer中实现ORACLE的Sequence
  10. 关于咕咕了很久的微信小程序