替代样式表
在网页中指定**备用样式表**为用户提供了查看页面多个版本的方法,这基于他们的需求或偏好。
注意:此功能在没有扩展程序的浏览器中支持性不佳。若要提供与用户现有偏好相符的替代演示,请参阅 CSS 媒体特性 prefers-color-scheme
和 prefers-contrast
。
Firefox 允许用户使用“查看 > 页面样式”子菜单选择样式表。其他浏览器需要扩展程序才能启用此功能。网页还可以提供自己的用户界面,让用户切换样式。
示例:指定替代样式表
备用样式表通常使用带有rel="alternate stylesheet"
和title="…"
属性的<link>
元素进行指定。例如
html
<link href="reset.css" rel="stylesheet" />
<link href="default.css" rel="stylesheet" title="Default Style" />
<link href="fancy.css" rel="alternate stylesheet" title="Fancy" />
<link href="basic.css" rel="alternate stylesheet" title="Basic" />
在此示例中,“默认样式”、“花哨”和“基本”将列在“页面样式”子菜单中,“默认样式”预先选中。当用户选择其他样式时,页面将立即使用该样式表重新渲染。
无论选择哪种样式,reset.css 样式表中的规则都将始终应用。
试一试
详情
文档中的任何样式表都属于以下类别之一
- **持久**(具有
rel="stylesheet"
,无title=""
):始终应用于文档。 - **首选**(具有
rel="stylesheet"
,并指定了title="…"
):默认情况下应用,但如果选择了备用样式表,则禁用。**只能有一个首选样式表**,因此提供具有不同 title 属性的样式表会导致其中一些样式表被忽略。 - **备用**(
rel="alternate stylesheet"
,并指定了title="…"
):默认情况下禁用,可以选择。
当使用<link rel="stylesheet">或<style>
元素上的title
属性引用样式表时,该标题将成为提供给用户的选项之一。使用相同title
链接的样式表是同一选项的一部分。没有title
属性链接的样式表始终应用。
使用rel="stylesheet"
链接到默认样式,并使用rel="alternate stylesheet"
链接到备用样式表。这告诉浏览器哪个样式表标题应默认选中,并在不支持备用样式表的浏览器中应用该默认选择。
规范
规范 |
---|
HTML 标准 # rel-alternate |
HTML 标准 # the-link-is-an-alternative-stylesheet |
HTML 标准 # attr-style-title |
HTML 标准 # attr-meta-http-equiv-default-style |
CSS 对象模型 (CSSOM) # css-style-sheet-collections |
浏览器兼容性
BCD 表格仅在浏览器中加载