2017年值得学习的3个CSS特性

作者: 前端开发博客 | 来源:发表于2017-02-08 15:23 被阅读254次

原文:https://bitsofco.de/3-new-css-features-to-learn-in-2017/
译文:http://caibaojian.com/3-new-css-features-to-learn-in-2017.html
译者:前端开发博客(蔡宝坚)

未经许可,禁止转载,如有不妥之处,欢迎指正。

新年快乐!
随着新的一年到来,我们有一整套新的东西要开始学习。虽然今年的新特性有很多,但有3个新的特性是最令我激动不已的。

1.Feature Queries

前段时间,我写过关于Feature Queries的一篇文章,叫“我最想要的CSS特性之一”。好了,现在它已经出现在这里了。它支持除了IE浏览器之外的所有主流浏览器(包括Opera Mini)。

Feature Queries,使用这个 @supports 规则,允许我们包含CSS在一个条件块,但只有当前用户客户端支持一个特别的CSS property-value 才有效。举个简单的例子,只支持 display:flex 的浏览器才用Flexbox样式。

@supports ( display:flex ){
    .foo { display:flex; }
}

另外,使用像 andnot 的操作符,我们可以创建更加复杂的特性查询。例如,我们可以检测一个浏览器只支持旧的Flexbox语法-

@supports ( display: flexbox ) 
          and 
          ( not ( display: flex ) ) {
  .foo { display: flexbox; }
}

兼容情况

2.Grid 布局

CSS 网格布局模块定义了一个以创建网格为基础的布局系统。它跟Flexbible Box 布局模块很相似,但它更多的是为页面布局而设计,因此具有许多不同的特性。

清晰的项放置

一个网格是由Grid Container(用 display: grid 创建),和Grid项(这是子项)构成。在我们的CSS中,我们可以容易并且清晰的组织网格项的放置和顺序,而不用管他们在标记中的放置。

举个例子,在我的文章“使用CSS网格的圣杯布局,我展示一下我们如何使用这个组件来创建类似的“圣杯布局”。

CSS网格组件最早在今年3月份将可以使用在浏览器中

3.原生变量

最近,原生CSS变量(css变量组件自定义属性)。这个组件介绍一个创建自定义变量的方法,它可以赋值给CSS属性。

举个例子,如果我们需要在样式表中多个地方使用到colour,我们可以把它当做一个变量和并引用它,而不必多次写它的实际值。

:root {
  --theme-colour: cornflowerblue;
}

h1 { color: var(--theme-colour); }  
a { color: var(--theme-colour); }  
strong { color: var(--theme-colour); } 

现在有很多CSS预处理器像SASS可以做到这一点,但CSS变量有浏览器支持的优势。这意味着它们的值可以实时更新。为了改变下面的属性 --theme-colour ,例如,我们需要做的就是下面这个了:

const rootEl = document.documentElement;  
rootEl.style.setProperty('--theme-colour', 'plum'); 

兼容情况

什么是兼容情况

如你所见,不是所有的特性都被所有浏览器所支持,所以我们要如何合适使用它们在生产中?好吧,用渐进增强!上一年,我在Fronteers 会议上讲了一个关于如何在CSS上使用渐进增加的演讲。你可以看一下下面这个:
https://player.vimeo.com/video/194815985

相关文章

  • css基础04- css三大特性

    css三个特性 继承 ,层叠 ,优先级 是我们学习CSS 必须掌握的三个特性。 继承性 所谓继承性是指书写CSS样...

  • css新特性

    2017 年要学习的三个 CSS 新特性 新的一年,我们有一系列新的东西要学习。尽管 CSS 有很多新的特性,但有...

  • 2017年值得学习的3个CSS特性

    原文:https://bitsofco.de/3-new-css-features-to-learn-in-201...

  • CSS的三大特性

    简介层叠 继承 优先级 是我们学习CSS 必须掌握的三个特性。 CSS层叠性 所谓层叠性是指多种CSS样式的叠加...

  • 零基础转行前端,大概需要学多长时间?

    第一阶段:HTML+CSS 学习时间: 半个月 主要学习内容: 1.HTML标签、表单,HTML5新特性2.CSS...

  • CSS的三大特性总结(深入理解css权重)

    【目录】 css的三大特性层叠性特性说明原理DEMO继承性优缺点重点DEMOhtml代码css代码优先级css特殊...

  • CSS样式表继承详解

    最近在恶补css样式表的基础知识。上次研究了css样式表之冲突问题详解。这次是对css继承特性的学习。 什么是cs...

  • CSS:复合选择器 & 标签显示模式 & CSS 三大特性

    学习目标 复合选择器后代选择器并集选择器 标签显示模式 CSS 背景背景位置 CSS 三大特性优先级 1. CSS...

  • CSS的特性

    CSS的特性 1.层叠性 在两个样式权限相同的情况下,同一个标签中如果样式属性发生冲突,后面的会将前面的属性覆盖掉...

  • CSS相关文章

    前端面试之 CSS3 新特性 除了 HTML5 的新特性,CSS3 的新特性也是面试中经常被问到的。如何用 js ...

网友评论

本文标题:2017年值得学习的3个CSS特性

本文链接:https://www.haomeiwen.com/subject/oxavittx.html