对于我的一项任务,我必须制作 2 个不同的 CSS 样式表,我已经做到了。现在在作业中说,如果我愿意,我可以将两个样式表链接到一个 html 页面,所以我猜测会有两个选项可以在两种样式之间切换。我的问题:我如何实现这一目标?我听说涉及到一些 java,我是否还需要创建按钮或下拉菜单以便显示选项?
如果你不明白我想说什么,这里有一个例子:http: //adactio.com/。在底部,您可以选择更改主题,但我不介意只有两个按钮。
提前致谢。
对于我的一项任务,我必须制作 2 个不同的 CSS 样式表,我已经做到了。现在在作业中说,如果我愿意,我可以将两个样式表链接到一个 html 页面,所以我猜测会有两个选项可以在两种样式之间切换。我的问题:我如何实现这一目标?我听说涉及到一些 java,我是否还需要创建按钮或下拉菜单以便显示选项?
如果你不明白我想说什么,这里有一个例子:http: //adactio.com/。在底部,您可以选择更改主题,但我不介意只有两个按钮。
提前致谢。
您的示例在没有请求服务器的情况下不会更改页面样式,因此这不是您可能想要的。我认为您的教授询问了可以从网络浏览器中选择的“替代”样式表。
<link rel="stylesheet" type="text/css" href="std.css" title="standard skin" />
<link rel="alternate stylesheet" type="text/css" href="alt.css" title="alternate skin" />
使用文档标题中的此代码,您可以选择用于样式的样式表,并且无需 php、cgi 或其他服务器端技术即可对其进行更改。
http://www.w3.org/Style/Examples/007/alternatives了解更多信息。
笔记:
最初加载文档时,会将持久和首选样式表应用于文档。然后用户可以选择替代样式表。W3C 告诉我们浏览器应该让我们选择我们想要使用的样式表,并建议可能会提供一个下拉菜单或工具栏。
“所以我猜这两种风格之间会有两种选择”
我认为这个猜测是错误的。从一个页面链接到多个 CSS 文件并同时使用它们并不少见。最好使用更少的文件,但拥有多个文件并不罕见。
尝试在 Google 中查找“样式表切换器”。
他们在课堂上教过你吗?我认为这种技术会出现在您的教科书中;教授不会只指望你凭空获得知识...
您显示的站点正在通过 URL 传递变量。然后根据 URL 的内容,确定加载哪个样式表。
“ http://adactio.com/ ?skin=hi-tech ”
您创建变量。然后你会通过一个链接传递它。就像是:
<a href="?skin=hi-tech">Hi Tech Skin</a>
然后要确定加载了哪个样式表,您可以执行以下操作:
<?php if(skin == 'hi-tech'){ ?>
<link rel="stylesheet" href="#" type="text/css" media="screen" />
<?php }else if( ...and so on...
它就像在页面加载时使用 javascript 根据页面的查询字符串将“链接”元素添加到正确的样式表一样简单。如果您没有查询字符串(第一次访问页面时会出现这种情况),则通过 java 脚本添加一个默认字符串(或已经在页面中并且 javascript 编辑当前的)。