0

我有一个全局的css文件,带有一个html元素,样式代码很大,但是不同的页面用这个样式有一点不同,我不想复制多个只修改一两行样式代码,就是有一种方法可以将 html 元素绑定到 css 文件,以便它可以具有不同的版本,例如在 xaml 中,我们可以将 viewmodel 的属性绑定到样式,以便它可以动态加载样式。

4

2 回答 2

1

作为免责声明,我对 XAML 了解不多。但是,如果您只是想使用全局样式表来提供通用样式,然后针对一些例外情况覆盖它,您可以只链接到包含你想做的改变。

例如:

//global stylesheet
...
.classname {
color:blue;
font-family:Arial;
...
}

//stylesheet specific to that page
...
.classname {
color:red; //include changes
//If you don't need a style declaration changed, just leave it blank
...
}
于 2013-04-25T02:34:57.487 回答
0

您可以做的是动态加载该页面所需的 css 文件。有多种方法可以做到这一点。由于您没有指定是否使用 jQuery,您可以使用

function loadjscssfile(filename, filetype){
 if (filetype=="js"){ //if filename is a external JavaScript file
  var fileref=document.createElement('script')
  fileref.setAttribute("type","text/javascript")
  fileref.setAttribute("src", filename)
 }
 else if (filetype=="css"){ //if filename is an external CSS file
  var fileref=document.createElement("link")
  fileref.setAttribute("rel", "stylesheet")
  fileref.setAttribute("type", "text/css")
  fileref.setAttribute("href", filename)
 }
 if (typeof fileref!="undefined")
  document.getElementsByTagName("head")[0].appendChild(fileref)
}

因此,您可以执行以下操作:

loadjscssfile("mystyle.css", "css") ////dynamically load and add this .css file

来源:http ://www.javascriptkit.com/javatutors/loadjavascriptcss.shtml

有多个插件也允许您通过 jQuery 执行此操作。你只需要搜索它们。

于 2013-04-25T02:29:48.350 回答