3

我已经完成了我的网站并完成了样式表,但现在我创建了第二个样式表(称为 other.css)。我想要做的是在我的主页上有 2 个链接,一个带有“normal.css”,一个带有“other.css”。所以基本上我希望用户能够在我的 2 种样式之间进行选择。我复制了所有原始页面并在其名称中添加了“2”,我还创建了 other.css 并在这些页面上引用了它。“2”页都可以很好地显示替代布局,但我不知道如何让用户在样式之间切换......请帮忙?

注意我的 html 完全没有改变,我只是在改变 css 文件。

戴夫

4

3 回答 3

0

好问题。答案很大程度上取决于您使用的服务器端技术。例如,对于我通常使用的 Google App Engine,只需更改生成的 HTML 标题的一部分以指向不同的 CSS 文件。但它不是一个静态的 HTML 文件。

CSS Zen Garden是一个专门用于说明以不同样式表呈现的同一个 HTML 文件的网站。也许你可以从那里得到一些关于如何做到这一点的想法。您将再次看到具有不同样式的页面,即使它们具有相同的 HTML 源,也不是静态的 .html 页面。

于 2012-04-29T17:25:32.837 回答
0

如果您的服务器上有 php,您可以根据 cookie 更改样式表。以下代码将起作用:

if ($_COOKIE['style'] == '1') {
echo '<link rel="stylesheet" href="normal.css" type="text/css" />';
}
elseif ($_COOKIE['style'] == '2') {
echo '<link rel="stylesheet" href="other.css" type="text/css" />';
}
else {
echo '<link rel="stylesheet" href="normal.css" type="text/css" />';
}

在页面底部添加一个链接:更改样式

在 changestyle.php 页面上有以下内容:

if ((isset($_COOKIE['style'])) AND ($_COOKIE['style'] == '1')) {
setcookie(style,2) 
}
elseif ((isset($_COOKIE['style'])) AND ($_COOKIE['style'] == '2')) {
setcookie(style,1) 
}
else {
setcookie(style,2) 
}
于 2012-04-29T19:17:46.663 回答
0

这个 W3C 页面不仅解释了如何做到这一点,而且本身也有许多备用样式表,因此您可以实际测试它。

在大多数浏览器中,用户可以使用 View → Page Style 之类的方式切换样式表。所需要的只是让菜单栏可见......

于 2012-04-29T17:45:13.397 回答