从头开始实施有多复杂?
主要用于布局问题。
我想让它成为声明的原因是我希望将它封装到一个javascript类中,这样我就不需要一次又一次地处理css缺陷,而是一劳永逸。
答案 0 :(得分:4)
这根本不是什么大不了的事。你只需做
之类的事情document.getElementById('whatever').style.width = 100;
或者,在jQuery中,
$('#whatever').css('width', 100);
但是,听起来好像你想用程序化的样式操作完全取代样式表,这可能是一个糟糕的主意。
答案 1 :(得分:4)
老实说,这里唯一正确的答案是不要这样做 - 正确学习CSS 。你似乎想要克服CSS中的一些缺陷,但你不会说它们是什么,除了“布局”,它就像你能得到的一样模糊。 CSS布局很好(使用浮动,而不是定位 - 后者很少用于布局)。
就我所见,使用Javascript设置CSS样式并没有真正解决任何问题。也许你需要更清楚地解释(有例子)你的问题是什么。
答案 2 :(得分:1)
你应该澄清你的问题。如果我理解它是“为什么CSS是一种声明性语言而不是命令式”那么这是因为它在概念上更接近人类想要网页的风格(以及浏览器如何阅读它)。
答案 3 :(得分:0)
查看 JSON CSS 。这是一种使用Javascript的强大功能(执行逻辑等)以一种漂亮有序的方式设置样式的一种相当有趣的方法。 Arc90.Labs对该主题进行了很好的描述,并附有示例。
http://lab.arc90.com/2009/01/json_css.php(也在Google Code上)
演示JSON CSS样式表:
{
"@variables": {
"demoBgColor": "#FBFAF4"
},
"#demoContainer": {
"background-color": "@{demoBgColor}",
"border": "1px dotted #CCC",
"padding": "0.5em",
"width": "40em",
"@browser[msie-6]": {
"width": "400px"
},
"h3.header": {
"text-decoration": "underline"
},
"div:first": {
"font-weight": "bold"
}
}
}