2

对于我的一项任务,我必须制作 2 个不同的 CSS 样式表,我已经做到了。现在在作业中说,如果我愿意,我可以将两个样式表链接到一个 html 页面,所以我猜测会有两个选项可以在两种样式之间切换。我的问题:我如何实现这一目标?我听说涉及到一些 java,我是否还需要创建按钮或下拉菜单以便显示选项?

如果你不明白我想说什么,这里有一个例子:http: //adactio.com/。在底部,您可以选择更改主题,但我不介意只有两个按钮。

提前致谢。

4

5 回答 5

5

您的示例在没有请求服务器的情况下不会更改页面样式,因此这不是您可能想要的。我认为您的教授询问了可以从网络浏览器中选择的“替代”样式表。

<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 告诉我们浏览器应该让我们选择我们想要使用的样式表,并建议可能会提供一个下拉菜单或工具栏。

(来自http://www.alistapart.com/articles/alternate/

于 2010-01-05T20:21:06.063 回答
0

“所以我猜这两种风格之间会有两种选择”

我认为这个猜测是错误的。从一个页面链接到多个 CSS 文件并同时使用它们并不少见。最好使用更少的文件,但拥有多个文件并不罕见。

于 2010-01-05T20:36:29.503 回答
0

尝试在 Google 中查找“样式表切换器”。

他们在课堂上教过你吗?我认为这种技术会出现在您的教科书中;教授不会只指望你凭空获得知识...

于 2010-01-05T20:14:19.087 回答
0

您显示的站点正在通过 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...
于 2010-01-05T20:16:25.870 回答
0

它就像在页面加载时使用 javascript 根据页面的查询字符串将“链接”元素添加到正确的样式表一样简单。如果您没有查询字符串(第一次访问页面时会出现这种情况),则通过 java 脚本添加一个默认字符串(或已经在页面中并且 javascript 编辑当前的)。

于 2010-01-05T20:21:06.840 回答