我创建了一个网站,我想允许个性化的个人用户高达如改变字体,背景颜色一定程度上的问题等。这样做的问题是,我载入我的默认CSS文件已经默认一切的类。现在当我从我的数据库中获取背景颜色,那么如果有背景颜色的空值,那么应该加载默认的css类mystylesheet.css,如果值不为空,那么我想用我的默认CSS来覆盖它。这怎么可能?感谢提前:)初学者的关于CSS
回答
负载的风格标签的默认stylesheat,并把你的动态之后的风格标签中的样式。
哪种样式时,不同的风格定位相同元素由特异性决定的,而如果选择是相同的,按顺序使用。使用最后找到的样式。
+1:我打算说同样的事情,但服务器重置并失去了我的回应。 – Robusto 2010-04-27 17:49:35
一种方法是从一个PHP脚本动态生成CSS文件。
你会包括像文件:
<link rel="stylesheet" type="text/css" href="css.php">
而且css.php文件看起来是这样的:
<?php
header('Content-type: text/css');
// whatever you want to ouput depending on the user
?>
zaf提到的方法会要求您在要切换样式表时重新加载页面。我觉得这是一个更好的方法是一个类名补充人体 如果你有使用JavaScript
<body class="theme-1">
<div class="main"><div>
</body>
然后每个样式表应该包含在声明的主题名称的选项:
--theme1.css
.theme-1 div.main {
background-color: #eee
}
--theme2.css
.theme-2 div.main {
background-color: #f30
}
要切换样式表,只需删除旧的主题名称并添加要使用的主题。
然后,您甚至可以动态添加样式表,如果您为用户提供界面以自定义页面的外观和感觉。
改进的新答案:
我刚刚发现在ExtJS的乡亲实现一个很好的解决方案。它涉及使用<链接>标签加载所有想要的样式表。诀窍是你可以在链接元素上设置一个禁用属性,这会导致它不适用。
举一个例子,使用Firebug看看
http://www.extjs.com/deploy/dev/examples/themes/index.html
查找styleswitcher。js并看看函数setActiveStyleSheet
function setActiveStyleSheet(title) {
var i,
a,
links = document.getElementsByTagName("link"),
len = links.length;
for (i = 0; i < len; i++) {
a = links[i];
if (a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
a.disabled = true;
if (a.getAttribute("title") == title) a.disabled = false;
}
}
}
- 1. 关于SQlite关系的初学者
- 2. 关于python multiprocessing的初学者问题?
- 3. 关于Java初学者的问题
- 4. 关于e.Item.ItemIndex的初学者问题
- 5. 改装初学者关于POJO的
- 6. 关于初学者程序的难题
- 7. 初学者关于django-viewflow的问题
- 8. 的CSS重点初学者
- 9. HTML初学者,关于影像尺寸
- 10. 关于JDBC初学者教程
- 11. Javascript初学者:关于代码语法
- 12. 初学者:有关链接
- 13. 有关Java初学者
- 14. 学习WinAPI的 - 对于初学者
- 15. 初学者苦于Objective-C
- 16. 初学者的良好CSS框架?
- 17. HTML/CSS初学者 - divs的定位
- 18. 初学者到iPhone开发者:关于[操作sendMessage:参数]
- 19. 一些初学者的有关MongoDB的
- 20. Vue.Js有关组件的初学者
- 21. 有关printf,java的初学者问题
- 22. CakePHP的初学者 - MVC关系
- 23. 初学者有关PHP的问题
- 24. 2初学者有关C++的问题
- 25. 初学者的.htaccess问题(笨相关)
- 26. Haskell初学者
- 27. 初学者
- 28. MonoDroid - 初学者
- 29. PROLOG初学者
- 30. 初学者
你在用什么来做抓取?可能有几十种不同的服务器端语言可以用于此目的,所以请编辑您的问题,因为PHP,C#和Java都是可以用于此目的的可能语言。其次,你的数据库使用什么语言来编程返回值? – 2010-04-27 17:33:42
我按照你的说法编辑了 – TCM 2010-04-27 17:39:18