对于我的一个作业,我必须制作两个不同的CSS样式表,我已经完成了。现在在作业中它说如果我想我可以将两个样式表链接到一个html页面,所以我猜测将有两个选项在两种样式之间切换。 我的问题:我如何实现这一目标?我听说有一些java涉及,我还需要创建按钮还是下拉菜单,以便显示选项?
如果你不明白我想说的话,这是一个例子: http://adactio.com/。在底部你可以选择更改主题,但我不介意只有两个按钮。
提前致谢。
答案 0 :(得分: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告诉我们浏览器应该让我们选择我们想要使用的样式表,并建议可能会提供一个下拉菜单或工具栏。
答案 1 :(得分:0)
尝试在Google中查找“样式表切换器”。
他们在课堂上教给你了吗?我认为这种技术会出现在你的教科书中;教授不会指望你从空气中获得知识......
答案 2 :(得分:0)
您展示的网站是通过网址传递变量。然后根据URL说明,它确定加载哪个样式表。
“http://adactio.com/的?皮肤=高科技强>”
您创建变量。然后你会通过链接传递它。类似的东西:
<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...
答案 3 :(得分:0)
就像在页面加载时使用javascript一样简单,可以根据页面的查询字符串将“link”元素添加到正确的样式表中。如果您没有查询字符串(首次访问该页面时会出现这种情况),则可以通过java脚本添加默认字符串(或已在页面中添加,javascript编辑当前页面)。
答案 4 :(得分:0)
“所以我猜这两种风格之间会有两种选择”
我认为这个猜测是错误的。从一个页面链接到多个CSS文件并同时使用它们并不罕见。使用较少的文件会更好,但拥有多个文件并不罕见。