定时媒体 CSS

工作草案 — 2007 年 3 月 19 日

摘要

本规范定义了一组层叠样式表属性,用于定时媒体的呈现,包括但不限于视频和音频。通过将定时媒体元素的呈现样式与其内容分离,这些属性进一步简化了网页创作和站点维护。

虽然在某些情况下,定时媒体的播放对于文档上下文具有语义意义,但在许多情况下,播放完全是呈现性的。因此,我们提供了一套合理的 CSS 属性,用于根据呈现状态控制媒体是否播放,以及控制要呈现的媒体部分、循环行为和音频音量。

本文档状态

本提案目前没有积极开发。

目录


1. 引言

本节为非规范性内容。

正在准备中的引言...

2. 新语法

3. 新属性

这些属性适用于嵌入定时媒体的元素,例如电影或声音。

3.1 'media-play-state'

'media-play-state'
值:  playing | paused | inherit
初始值:  paused
适用于:  定时媒体元素
可继承:  
百分比值:  见正文
媒体:  可视, 音频
计算值:  指定的值或百分比

'media-play-state' 属性启动或停止一个定时媒体项。

值具有以下含义

playing
'media-play-rate' 设置的速度播放。
paused
未播放。
 movie#halt { media-play-state: paused; }

3.2 'media-play-rate'

'media-play-rate'
值:   <number> | <percentage> | inherit
初始值:  1
适用于:  定时媒体元素
可继承:  
百分比值:  见正文
媒体:  可视, 音频
计算值:  指定的值或百分比

'media-play-rate' 属性设置定时媒体项(例如电影或声音)的播放速度。用户代理应尽可能在改变音频速度时保持音高。措辞 ????

值具有以下含义

<number>
浮点数代表媒体项的默认播放速度。允许使用负数播放速度,表示向后播放,尽管并非所有媒体格式都支持反向播放。

<percentage>
百分比值相对于媒体项的默认播放速度计算,该默认播放速度由资源的容器格式定义,例如 QuickTime 电影的 "preferredRate"。根据媒体格式的允许,百分比值可以是负数或大于 100%。
 movie:hover { media-play-state: playing; media-play-rate: 0.5; }

3.3 'media-start-time'

'media-start-time'
值:   <time> | <percentage> | inherit
初始值:  0s
适用于:  定时媒体元素
可继承:  
百分比值:  见正文
媒体:  可视, 音频
计算值:  指定的值

'media-start-time' 属性设置媒体项开始播放的时间。负值表示从完整媒体项的总时长算起。

值具有以下含义

<number>
绝对时间单位(秒和毫秒)表示的开始时间。
<percentage>
百分比值相对于完整媒体项的总时长计算。负百分比值表示相对于完整媒体项总时长的偏移量。
movie#main { media-start-time: 10s }

3.4 'media-end-time'

'media-end-time'
值:   <time> | <percentage> | inherit
初始值:  -0s
适用于:  定时媒体元素
可继承:  
百分比值:  见正文
媒体:  可视, 音频
计算值:  指定的值

'media-end-time' 属性设置媒体项停止播放的时间。负值表示相对于完整媒体项总时长的偏移量。

值具有以下含义

<time>
绝对时间单位(秒和毫秒)表示的结束时间。
<percentage>
百分比值相对于完整媒体项的总时长计算。负百分比值表示相对于完整媒体项总时长的偏移量。
movie#main { media-end-time: -5s }

3.5 'media-loop-count'

'media-loop-count'
值:   <number> | infinite | inherit
初始值:  1
适用于:  定时媒体元素
可继承:  
百分比值:  不适用
媒体:  可视, 音频
计算值:  指定的值

'media-loop-count' 属性设置媒体项播放时循环的次数。

值具有以下含义

<number>
媒体资源将循环的次数。默认值“1”表示该项将播放一次,但不循环。
infinite
媒体项将无限循环。
audio.ambient { media-loop-count: infinite }

3.6 'media-loop-start-time'

'media-loop-start-time'
值:   <time> | <percentage> | inherit
初始值:  0s
适用于:  定时媒体元素
可继承:  
百分比值:  见正文
媒体:  可视, 音频
计算值:  指定的值

'media-loop-start-time' 属性设置媒体项循环后开始播放的时间。

值具有以下含义

<time>
绝对时间单位(秒和毫秒)表示的开始时间。负值表示相对于完整媒体项总时长的偏移量。
<percentage>
完整媒体项总时长的百分比。负百分比表示相对于完整媒体项总时长的偏移量。
audio.ambient { media-loop-start-time: 6s }

3.7 'media-loop-end-time'

'media-loop-end-time'
值:   <time> | <percentage> | inherit
初始值:  -0s
适用于:  定时媒体元素
可继承:  
百分比值:  见正文
媒体:  可视, 音频
计算值:  指定的值

'media-loop-end-time' 属性设置媒体项第二次及后续重复循环的时间点。

值具有以下含义

<time>
绝对时间单位(秒和毫秒)表示的结束时间。负值表示相对于完整媒体项总时长的偏移量。
<percentage>
完整媒体项总时长的百分比。负百分比表示相对于完整媒体项总时长的偏移量。
audio.ambient { media-loop-end-time: -9s }

3.8 音量属性: 'volume'

'volume'
值:   <number> <percentage> | silent | soft | medium | loud | x-loud | inherit
初始值:  medium
适用于:  所有元素
可继承:  
百分比值:  参考继承值
媒体:  可视, 音频
计算值:  数字

'volume' 属性指的是波形的音量,范围从 0 到 1.0。

值具有以下含义

<number>
'0' 到 '1.0' 之间的任意数字。'0' 表示静音,'1.0' 表示最大音量。
<percentage>
百分比值相对于继承值计算,然后被裁剪到 '0' 到 '1.0' 的范围。
silent
完全没有声音。与 '0' 相同。
low
与 '0.25' 相同。
medium
与 '0.50' 相同。
high
与 '0.75' 相同。
full-volume
与 '1.0' 相同。

用户代理应允许听众设置对应于 '0' 和 '1.0' 的值。没有一种设置是普遍适用的;合适的值取决于使用的设备(扬声器、耳机)、环境(车内、家庭影院、图书馆)和个人偏好。

3.9 媒体定时速记属性 'media-timing'

'media-timing'
值:  ['media-play-state' || 'media-start-time' || 'media-end-time' || 'media-loop-count' || 'media-loop-start-time' || 'media-loop-end-time' || 'media-play-rate'] | inherit
初始值:  参见各属性
适用于:  定时媒体元素
可继承:  
百分比值:  参见各属性
媒体:  可视, 音频
计算值:  参见各属性

'media-timing' 是一个速记属性,用于在样式表的同一位置设置各个媒体属性(即 'media-play-state', 'media-start-time', 'media-end-time', 'media-loop-count', 'media-loop-start-time', 'media-loop-end-time''media-play-rate')。给定有效的声明,'media-timing' 属性首先将所有单个媒体属性设置为其初始值,然后分配声明中给出的显式值。

在以下示例的第一条规则中,仅指定了 'media-timing' 的值,其他各个属性则设置为其初始值。在第二条规则中,指定了所有单个属性。

audio.ambient { media-timing: playing; }
        
movie#main { media-timing: playing 0s -0.5s 2 2s -4s 1 }
        

参考

即将推出

致谢

即将推出