2017年7月11日,W3C的CSS工作组发布CSS字体模块(CSS Fonts Module Level 4)的首个公开工作草案。在CSS Fonts 3的基础上,CSS Fonts 4定义了@font-face规则,并提供OpenType功能支持,增加了对OpenType变量字体的支持,并为样式设计者提供了一种设计彩色(多色)字体颜色的方式。
更多内容,请参阅英文原文。
2017年7月11日,W3C的CSS工作组发布CSS字体模块(CSS Fonts Module Level 4)的首个公开工作草案。在CSS Fonts 3的基础上,CSS Fonts 4定义了@font-face规则,并提供OpenType功能支持,增加了对OpenType变量字体的支持,并为样式设计者提供了一种设计彩色(多色)字体颜色的方式。
更多内容,请参阅英文原文。
2017年6月13日,W3C的CSS工作组发布CSS溢出模块(CSS Overflow Module Level 4)的首个公开工作草案(First Public Working Draft)。该模块包含了在视觉媒体中(例如屏幕,纸张等)中处理超出媒体边界的“溢出”机制的CSS相关特性。在交互媒体中,该模块描述的功能允许通过多页的方式(每次显示一页)处理超过显示区域内容的溢出。该模块还描述了适用于所有视觉媒体的功能,支持一个元素的多个内容分散在多个片段中,允许内容在多个区域显示,或是对不同的片段有不同的风格。
更多内容,请参阅英文原文。
2017年5月18日,W3C的 CSS工作组(CSS Working Group) 发布了 CSS逻辑属性和值(CSS Logical Properties and Values Level 1) 的首份工作草案(First Public Working Draft)。不同的书写模式(writing mode)中,可以抽取出共性的抽象概念(如开始位置,或行),这些逻辑抽象概念需要在不同书写模式下映射到左或右、上或下等物理的概念上。一些CSS布局可能依赖这些共性的逻辑概念。该 CSS 模块给出了用于通过逻辑方式(而不是基于物理坐标、书写方向和维映射等)控制布局的逻辑属性和取值(logical properties and values)。这个模块来源于CSS21中关于逻辑属性和值的特性。
更多内容,请参阅 CSS工作组主页。
2017年5月9日,W3C的CSS工作组发布了CSS网格布局模块(CSS Grid Layout Module Level 1)的候选推荐标准(Candidate Recommendation),向公众征集参考实现。该CSS模块定义了一个二维网格布局系统,以优化用户界面设计。在网格布局模块中,可以将网格容器(grid container)的子节点指定到任意预定义布局网格的单元格中,这些布局网格可以是灵活的也可以是固定的。
CSS是一种描述HTML和XML等结构化文本在屏幕、纸上及语音中如何绘制和展现的语言。 更多内容,请参阅CSS工作组主页。
2017年2月21日,W3C的CSS工作组发布了两份标准的首次公开工作草案:
-CSS定时函数(CSS Timing Functions Level 1):该模块为开发者提供了一种动画时间的描述方式。该规范可用于产生表示物理现象(如动量等)或者产生类似机器人的离散步骤动画效果。在动画控制中,往往需要实现一些渐进的运动效果(如重力作用下的落体),定时函数(Timing functions)可以根据一类特定的模型(线性函数、三次Bézier函数、分段函数等),通过输入值(progress value)计算一个输出值(output progress value)来实现动画时间的转换。
-CSS包含模块(CSS Containment Module Level 1):该模块定义了 contain 属性,用于指出该元素的子树将独立于页面的其他部分。该规范可用于用户代理(如浏览器等)的重度优化(heavy optimizations)。
更多内容,请参阅W3C的CSS工作组。
2017年1月31日,W3C的CSS工作组发布了2017 CSS标准进展(CSS Snapshot 2017)的工作组备忘。该文档集合了所有CSS相关标准技术的更新,反映了截至2017年1月CSS标准的技术发展现状。本文的主要对象是 CSS的实现者,文档中包含了相关的CSS模块,并按照规范的成熟度(而非Web浏览器对该规范的支持程度)加以说明。
2016年10月25日,W3C的CSS工作组发布了CSS表格模块(CSS Table Module Level 3)的首份标准工作草案。这个CSS模块定义了基于二维网格(two-dimensional grid-based)的布局系统,并特别针对表格数据的渲染进行了优化。在表格布局模块中,每个显示节点都与对应的行和列关联起来,而表格单位则根据单元格内的内容以及表的结构与尺寸自动生成。
更多内容,请参阅W3C的CSS工作组。
2016年10月20日,W3C的CSS工作组发布了CSS滚动界限点模块(CSS Scroll Snap Points Level 1)的候选推荐标准(Candidate Recommendation),向公众征集参考实现。在浏览可以连续上下滚动或左右滚动的连续页面或一组图片时,通过触摸屏的触摸滑动或鼠标滚轴的滚动操作可以获得较好用户体验。但无论是触屏滑动还是鼠标滚轴都不容易精确的控制操作所产生的滚动量输入(imprecise nature of scrolling inputs),对于Web开发者来说,需要更好的控制滚动体验,并创建更丰富的页面内容呈现效果。 该模块提供了一组新特性,通过定义滚动范围的界限点(snap points)用来控制触屏滑动(panning)及滚动行为。
2016年9月29日,W3C的CSS工作组发布了CSS网格布局模块(CSS Grid Layout Module Level 1)、CSS值和单位模块(CSS Values and Units Module Level 3)的候选推荐标准,向公众征集参考实现。
-CSS网格布局模块(CSS Grid Layout Module Level 1):该CSS模块定义了一个二维网格布局系统,以优化用户界面设计。在网格布局模块中,可以将网格容器(grid container)的子节点指定到任意预定义布局网格的单元格中,这些布局网格可以是灵活的也可以是固定的。CSS是一种描述HTML和XML等结构化文本在屏幕、纸上及语音中如何绘制和展现的语言。
-CSS值与单位模块(CSS Value and Units Module Level 3):该CSS3模块描述了CSS属性所能接受的通用值与单位,以及在进行CSS属性定义时描述这些信息的基本语法。
2016年7月5日,W3C的CSS工作组发布CSS颜色模块(CSS Color Module Level 4)的首份公开标准工作草案。该规范描述用于前景色及组颜色透明度(Group opacity)的CSS颜色值及属性。本文不仅定义了在CSS1和CSS2中已经出现的、与颜色相关的属性和值,还扩展了新的属性和值。
更多信息,请参阅英文原文。
2016年6月7日,W3C的CSS工作组(Cascading Style Sheets Working Group)与技术架构组(Technical Architecture Group,简称TAG)联合发布以下四份技术标准的首个公开工作草案(First Public Working Draft):
-CSS类型对象模型(CSS Typed OM Level 1):将CSS对象模型(CSSOM)的字符串值转换为有类型的JavaScript对象表达(或者反之)可能造成较大的性能开销。本规范提供了一种标准方法,将CSS值按照JavaScript对象的方式表达,减少对性能的影响。
-CSS属性和值API(CSS Properties and Values API Level 1):该CSS模块定义了一个标准API,允许注册新的CSS属性。通过这个API注册的新属性可以通过特定的解析语法(parse syntax)来定义类型、继承性行为(inheritance behavior)以及属性的初始值。
-CSS绘制API(CSS Painting API Level 1: CSS的绘制阶段(paint stage)的主要任务是绘制背景、内容,以及基于盒(box)的几何属性(通常在布局/layout阶段通过计算获得)及所计算的样式属性完成绘制。该规范定义了一个标准API,允许开发者在几何属性或样式属性动态改变时的同时,对盒的部分区域进行绘制。
-工作脚本(Worklets Level 1):Worklets和Web Worker十分相似,它定义了一个标准API,允许在CSS渲染管道(绘制流水线)阶段(rendering pipeline stage),定义一个可以在主JavaScript执行环境之外运行的脚本。
这些工作是W3C致力于优化CSS渲染性能的Houdini项目的部分结果。更多内容,请参阅英文原文。关于Houdini相关的其他信息,可参阅“Houdini: Maybe the Most Exciting Development in You've Never Heard Of”(中文翻译1、中文翻译2)。
2016年5月26日,W3C的CSS工作组(Cascading Style Sheets Working Group)发布CSS弹性盒式布局模块(CSS Flexible Box Layout Module Level 1)的候选推荐标准,并向公众征集参考实现。该规范描述了一个面向用户接口设计的CSS盒式模型。在弹性布局(flex layout)模型中,一个弹性容器的子容器可以在任何方向布局,并可以灵活改变尺寸,例如增大以填充空余空间,或自动缩小以避免超出父容器的区域。子元素的纵向与横向对齐也可以被轻易地实现。这些盒式(纵向中的水平或横向中的垂直)嵌套可以用于建立类似二维表的布局。更多内容,请参阅英文原文。